using System; using System.IO; using System.Linq; using Comal.Classes; using InABox.Clients; using InABox.Core; using System.Diagnostics.CodeAnalysis; using Xamarin.Forms; namespace comal.timesheets { public class DeliveryModel : ListModel { public DeliveryModel(IModelHost host, Func> filter, bool transient = false) : base(host, filter, transient) { } public DeliveryModel(IModelHost host, Func> filter, [NotNull] String filename) : base(host, filter, filename) { } public static Filter Today => new Filter(x => x.Assignment.Date).IsEqualTo(DateTime.Today); public static Filter Last7Days => new Filter(x => x.Delivered.Date).IsGreaterThanOrEqualTo(DateTime.Today.AddDays(-7)); public static Filter Last30Days => new Filter(x => x.Delivered.Date).IsGreaterThanOrEqualTo(DateTime.Today.AddDays(-30)); public static Filter Upcoming => new Filter(x => x.Due.Date).IsGreaterThanOrEqualTo(DateTime.Today); } }