| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- using System;
- using System.Collections.ObjectModel;
- using Comal.Classes;
- using InABox.Core;
- using Xamarin.Forms;
- namespace comal.timesheets
- {
- public class AssignmentShell : Shell<AssignmentModel, Assignment>
- {
- static AssignmentShell()
- {
- Columns.Map(nameof(Id), x => x.ID)
- .Map(nameof(Number), x => x.Number)
- .Map(nameof(Title), x => x.Title)
- .Map(nameof(EmployeeId), x => x.EmployeeLink.ID)
- .Map(nameof(JobID), x => x.JobLink.ID)
- .Map(nameof(JobNumber), x => x.JobLink.JobNumber)
- .Map(nameof(JobName), x => x.JobLink.Name)
- .Map(nameof(TaskID), x => x.Task.ID)
- .Map(nameof(TaskNumber), x => x.Task.Number)
- .Map(nameof(TaskName), x => x.Task.Title)
- .Map(nameof(Notes), x => x.Description)
- .Map(nameof(_date), x => x.Date)
- .Map(nameof(_bookedstart), x => x.Booked.Start)
- .Map(nameof(_bookedfinish), x => x.Booked.Finish)
- .Map(nameof(_actualstart), x => x.Actual.Start)
- .Map(nameof(_actualfinish), x => x.Actual.Finish)
- .Map(nameof(_completed), x => x.Completed)
- .Map(nameof(_color), x => x.ActivityLink.Color)
- .Map(nameof(DeliveryID), x=>x.Delivery.ID);
- }
- public Guid Id => Get<Guid>();
- public int Number => Get<int>();
- public String Title => Get<String>();
- public Guid EmployeeId => Get<Guid>();
- public ObservableCollection<object> ResourceIds => new ObservableCollection<object>() { EmployeeId };
- public Guid JobID => Get<Guid>();
- public string JobNumber => Get<String>();
- public string JobName => Get<String>();
-
- public Guid TaskID => Get<Guid>();
- public int TaskNumber => Get<int>();
- public string TaskName => Get<String>();
- public String Subject => string.Format("{0}{1} {2}",
- Number,
- JobID != Guid.Empty ? $"({JobNumber})" : "",
- Title
- );
- public string Notes => Get<String>();
- private DateTime _date => Get<DateTime>();
- private TimeSpan _bookedstart => Get<TimeSpan>();
- private TimeSpan _bookedfinish => Get<TimeSpan>();
- private TimeSpan _actualstart => Get<TimeSpan>();
- private TimeSpan _actualfinish => Get<TimeSpan>();
- public DateTime StartTime => _date.Add(Assignment.EffectiveTime(_actualstart, _bookedstart).Floor(TimeSpan.FromMinutes(5)));
- public DateTime EndTime => _date.Add(Assignment.EffectiveTime(_actualfinish, _bookedfinish).Ceiling(TimeSpan.FromMinutes(5)));
- private DateTime _completed => Get<DateTime>();
- public bool Completed => !_completed.IsEmpty();
- private String _color => Get<String>();
- public Color Color
- {
- get => !String.IsNullOrWhiteSpace(_color) ? Color.FromHex(_color) : Color.Silver;
- set => Set<String>(value.ToHex());
- }
- public Color TextColor => Color.Black;
- public Guid DeliveryID => Get<Guid>();
- public static Filter<Assignment> MyAssignments =>
- new Filter<Assignment>(x => x.EmployeeLink.ID).IsEqualTo(App.Data.Me.ID);
-
- }
- }
|