12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- using System;
- using Comal.Classes;
- using InABox.Core;
- using Xamarin.Forms;
- using Xamarin.Forms.Xaml;
- namespace comal.timesheets
- {
- public class TimeSheetShell : Shell<TimeSheetModel,TimeSheet>
- {
- public static Filter<TimeSheet> UnprocessedTimeSheets => new Filter<TimeSheet>(x => x.EmployeeLink.ID)
- .IsEqualTo(App.Data.Me.ID)
- .And(x => x.Processed).IsEqualTo(DateTime.MinValue);
-
- static TimeSheetShell()
- {
- Columns
- .Map(nameof(Date), x => x.Date)
- .Map(nameof(_actualstart), x => x.Start)
- .Map(nameof(_actualfinish), x => x.Finish)
- .Map(nameof(_approvedstart), x => x.ApprovedStart)
- .Map(nameof(_approvedfinish), x => x.ApprovedFinish)
- .Map(nameof(_approved), x => x.Approved);
- }
- public DateTime Date => Get<DateTime>();
-
- private TimeSpan _actualstart => Get<TimeSpan>();
- private TimeSpan _actualfinish => Get<TimeSpan>();
- private TimeSpan _approvedstart => Get<TimeSpan>();
- private TimeSpan _approvedfinish => Get<TimeSpan>();
- private DateTime _approved => Get<DateTime>();
- public TimeSpan Start => _approved.IsEmpty()
- ? _actualstart
- : _approvedstart;
-
- public TimeSpan Finish => _approved.IsEmpty()
- ? _actualfinish
- : _approvedfinish;
-
- public ImageSource Approved => _approved.IsEmpty()
- ? null
- : ImageSource.FromFile("tick");
- }
- }
|