| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- using System;
- using System.Linq;
- using Comal.Classes;
- using Xamarin.Forms;
- using InABox.Core;
- namespace comal.timesheets
- {
- public class EquipmentDetailShell : DetailShell<EquipmentDetailModel, Equipment>
- {
- static EquipmentDetailShell()
- {
- Columns
- .Map(nameof(ID), x => x.ID)
- .Map(nameof(Code), x => x.Code)
- .Map(nameof(Description), x => x.Description)
- .Map(nameof(Notes), x => x.Notes)
- .Map(nameof(GroupID), x => x.GroupLink.ID)
- .Map(nameof(GroupName), x => x.GroupLink.Description)
- .Map(nameof(ThumbnailID), x => x.GroupLink.Thumbnail.ID)
- .Map(nameof(_specificationSheetID), x => x.SpecificationSheet.ID)
- .Map(nameof(BatteryDouble), x => x.TrackerLink.BatteryLevel)
- .Map(nameof(LastUpdate), x => x.TrackerLink.Location.Timestamp)
- .Map(nameof(Latitude), x => x.TrackerLink.Location.Latitude)
- .Map(nameof(Longitude), x => x.TrackerLink.Location.Longitude)
- .Map(nameof(DigitalKey), x => x.DigitalKey.ID);
- }
-
- public Guid ID => Get<Guid>();
- public string Code => Get<String>();
- public string Description => Get<String>();
- public string Notes => Get<String>();
- public Guid GroupID => Get<Guid>();
- public string GroupName => Get<String>();
- public Guid ThumbnailID => Get<Guid>();
- public ImageSource Thumbnail => Parent.GetImage(ThumbnailID);
- private Guid _specificationSheetID => Get<Guid>();
- public ImageSource SpecificationSheet => Parent.GetImage(_specificationSheetID);
-
- public double BatteryDouble => Get<double>();
- public DateTime LastUpdate => Get<DateTime>();
- public double Latitude => Get<double>();
- public double Longitude => Get<double>();
- public Guid DigitalKey => Get<Guid>();
-
- public double ColumnWidth => Parent.HasImages() ? 55 : 0;
-
- public string Battery => $"Battery {BatteryDouble:F2}";
-
- public string BatteryLastUpdate => $"Last Update: {LastUpdate:dd MMM yy}";
- public Color LastUpdateColour => LastUpdate < DateTime.Today.AddMonths(-1)
- ? Color.FromHex("#f08080")
- : LastUpdate < DateTime.Today.AddDays(-14)
- ? Color.FromHex("#ffef00")
- : Color.LightGreen;
-
- public double BatteryRowHeight => BatteryDouble > 0 ? 25 : 0;
-
- public Color BatteryColour => BatteryDouble <= 40D
- ? Color.FromHex("#f08080")
- : BatteryDouble > 40D && BatteryDouble <= 70D
- ? Color.FromHex("#ffef00")
- : Color.LightGreen;
- public EquipmentKanbanShell[] OpenKanbans => Parent.Kanbans.Where(x => x.Completed.IsEmpty()).ToArray();
- public int ClosedKanbanCount => Parent.Kanbans.Count(x => !x.Completed.IsEmpty());
- public bool KanbansVisible => Parent.Kanbans.Any();
-
- public int DocumentCount => Parent.Documents.Count;
- public bool DocumentsVisible => (SpecificationSheet != null) || Parent.Documents.Any();
- }
- }
|