EmployeeQualificationEditViewModel.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using System;
  2. using System.Threading.Tasks;
  3. using Comal.Classes;
  4. using InABox.Core;
  5. using InABox.Mobile;
  6. namespace PRS.Mobile
  7. {
  8. public class EmployeeQualificationEditViewModel : MobileViewModel<EmployeeQualification, EmployeeQualificationShell>
  9. {
  10. protected override void DoLoad()
  11. {
  12. Task[] tasks = {
  13. Task.Run(() => Qualifications.Refresh(true)),
  14. Task.Run(() => Documents.Refresh(true)),
  15. Task.Run(() => Photos.Refresh(true))
  16. };
  17. Task.WaitAll(tasks);
  18. }
  19. public QualificationModel Qualifications { get; private set; }
  20. public EmployeeQualificationDocumentModel Documents { get; private set; }
  21. public DocumentModel Photos { get; private set; }
  22. public EmployeeQualificationEditViewModel()
  23. {
  24. Qualifications = new QualificationModel(App.Data,
  25. () => null
  26. );
  27. Documents = new EmployeeQualificationDocumentModel(App.Data,
  28. () => new Filter<EmployeeQualificationDocument>(x => x.EntityLink.ID).IsEqualTo(Item.ID == Guid.Empty ? CoreUtils.FullGuid : Item.ID)
  29. );
  30. Photos = new DocumentModel(App.Data,
  31. () => new Filter<Document>(x => x.ID).IsEqualTo(Item.FrontPhotoID == Guid.Empty ? CoreUtils.FullGuid : Item.FrontPhotoID)
  32. .Or(x=>x.ID).IsEqualTo(Item.BackPhotoID == Guid.Empty ? CoreUtils.FullGuid : Item.BackPhotoID)
  33. );
  34. }
  35. public override bool IsChanged => Item == null || Item.ID == Guid.Empty || Item.IsChanged();
  36. }
  37. }