| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- using System;
- using System.Linq;
- using Comal.Classes;
- using Xamarin.Forms;
- namespace comal.timesheets
- {
- public class EquipmentShell : Shell<EquipmentModel, Equipment>
- {
- static EquipmentShell()
- {
- 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(SpecificationSheet), 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);
- public Guid SpecificationSheet => Get<Guid>();
-
- 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 EquipmentDocumentShell[] Documents => Parent.Documents.Where(x => x.EquipmentID == ID).ToArray();
- //public EquipmentKanbanShell[] Kanbans => Parent.Kanbans.Where(x => x.EquipmentID == ID).ToArray();
- 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;
- }
- }
|