| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- using System;
- using System.Threading.Tasks;
- using Comal.Classes;
- using InABox.Core;
- using InABox.Mobile;
- namespace PRS.Mobile
- {
- public class RequisitionEditViewModel : MobileViewModel<Requisition, RequisitionShell>
- {
- protected override void DoLoad()
- {
- Task[] tasks = new Task[]
- {
- Task.Run(() => Items.Refresh(true)),
- Task.Run(() => Documents.Refresh(true)),
- };
- Task.WaitAll(tasks);
- }
-
- public RequisitionEditMode Mode { get; set; }
-
- public RequisitionItemModel Items { get; private set; }
-
- public RequisitionDocumentModel Documents { get; private set; }
-
- public override bool IsChanged => Item == null || Item.ID == Guid.Empty || Item.IsChanged();
-
- public bool IsMine => Item?.RequestedByID == App.Data.Me.ID;
- private bool _hideElements;
- public bool HideElements
- {
- get => _hideElements;
- set
- {
- if (value == _hideElements) return;
- _hideElements = value;
- OnPropertyChanged();
- }
- }
- private Filter<T> GetFilter<T>(Filter<T> filter)
- {
- if ((Item?.ID ?? Guid.Empty) == Guid.Empty)
- return new Filter<T>().None();
- return filter;
- }
-
- public RequisitionEditViewModel()
- {
- Mode = RequisitionEditMode.PickStock;
- Items = new RequisitionItemModel(App.Data,
- () => GetFilter(new Filter<RequisitionItem>(x => x.RequisitionLink.ID).IsEqualTo(Item.ID))
- );
-
- Documents = new RequisitionDocumentModel(App.Data,
- () => GetFilter(new Filter<RequisitionDocument>(x => x.EntityLink.ID).IsEqualTo(Item.ID))
- );
-
- }
- public void Save()
- {
- Item.Save("Saved by PRS Mobile");
- OnPropertyChanged(nameof(IsChanged));
- }
-
- }
- }
|