| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- using System;
- using System.IO;
- using System.Linq;
- using Comal.Classes;
- using InABox.Clients;
- using InABox.Core;
- using System.Diagnostics.CodeAnalysis;
- using Syncfusion.XForms.EffectsView;
- using Xamarin.Forms;
- namespace PRS.Mobile
- {
- public class DeliveryDetailModel : DetailModel<DeliveryDetailModel,DeliveryDetailShell, Delivery>
- {
- public DeliveryDetailModel(IModelHost host, Func<Filter<Delivery>> filter, bool transient = false) : base(host, filter, transient)
- {
- }
- public DeliveryDetailModel(IModelHost host, Func<Filter<Delivery>> filter, [NotNull] String filename) : base(host, filter, filename)
- {
- }
-
- protected override void Initialize()
- {
- base.Initialize();
- Dockets = new DeliveryDetailItemShell[] { };
- Documents = new DeliveryDocumentShell[] { };
- }
- public DeliveryDetailItemShell[] Dockets { get; private set; }
-
- public DeliveryDocumentShell[] Documents { get; private set; }
- public override void BeforeLoad(MultiQuery query)
- {
- base.BeforeLoad(query);
-
- query.Add<DeliveryItem>(
- new Filter<DeliveryItem>(x => x.Delivery.ID).InQuery(Filter(), x => x.ID),
- GetColumns<DeliveryDetailItemShell,DeliveryItem>()
- );
-
- query.Add<DeliveryDocument>(
- new Filter<DeliveryDocument>(x => x.EntityLink.ID).InQuery(Filter(), x => x.ID),
- GetColumns<DeliveryDocumentShell, DeliveryDocument>()
- );
- }
- public override void AfterLoad(MultiQuery query)
- {
- base.AfterLoad(query);
-
- Dockets = query.Get<DeliveryItem>()
- .Rows
- .Select(r => new DeliveryDetailItemShell() { Row = r, Parent = this })
- .ToArray();
-
- Documents = query.Get<DeliveryDocument>()
- .Rows
- .Select(r => new DeliveryDocumentShell() { Row = r, Parent = this })
- .ToArray();
- }
- }
- }
|