using System; using System.Linq; using Comal.Classes; using Xamarin.Forms; namespace comal.timesheets { public class JobDetailShell : DetailShell { static JobDetailShell() { Columns .Map(nameof(ID), x => x.ID) .Map(nameof(JobNumber), x => x.JobNumber) .Map(nameof(Name), x => x.Name) .Map(nameof(Status), x => x.JobStatus.Description) .Map(nameof(Active), x=>x.JobStatus.Active) .Map(nameof(_color), x => x.Color) .Map(nameof(_latitude), x => x.SiteAddress.Location.Latitude) .Map(nameof(_longitude), x => x.SiteAddress.Location.Longitude) .Map(nameof(Notes), x => x.Notes) .Map(nameof(OpenAssignments), x => x.OpenAssignments); } public Guid ID => Get(); public string Name => Get(); public string JobNumber => Get(); private String _color => Get(); public Color Color => Color.FromHex(_color); public String Status => Get(); public bool Active => Get(); private double _latitude => Get(); private double _longitude => Get(); public InABox.Core.Location Location => new InABox.Core.Location() { Latitude = this._latitude, Longitude = this._longitude }; public String Notes => Get(); public int OpenAssignments => Get(); public string DisplayName => $"{JobNumber}: {Name}"; public JobDeliveryShell[] Deliveries => Parent.Deliveries.Where(x => x.JobID == ID).ToArray(); public JobEquipmentShell[] Equipment => Parent.Equipment.Where(x => x.JobID == ID).ToArray(); public JobITPShell[] ITPs => Parent.ITPs.Where(x => x.JobID == ID).ToArray(); } }