LeaveRequestFormStore.cs 1.0 KB

12345678910111213141516171819202122232425262728293031
  1. #nullable enable
  2. using Comal.Classes;
  3. using InABox.Core;
  4. namespace Comal.Stores;
  5. public class LeaveRequestFormStore : EntityFormStore<LeaveRequestForm, LeaveRequest, LeaveRequestLink>
  6. {
  7. protected override void UpdateParentStatus(IDigitalFormInstance form, LeaveRequest parent)
  8. {
  9. base.UpdateParentStatus(form, parent);
  10. if (!form.FormCancelled.IsEmpty())
  11. {
  12. parent.Status = LeaveRequestStatus.Rejected;
  13. parent.StatusNotes = $"{parent.StatusNotes}\nLeave Form cancelled by user".Trim();
  14. }
  15. else if (!form.FormCompleted.IsEmpty())
  16. {
  17. if (parent.Status == LeaveRequestStatus.NotSubmitted)
  18. {
  19. parent.Status = LeaveRequestStatus.InProgress;
  20. parent.StatusNotes = $"{parent.StatusNotes}\nLeave Form submitted by user".Trim();
  21. }
  22. }
  23. else
  24. {
  25. parent.Status = LeaveRequestStatus.NotSubmitted;
  26. parent.StatusNotes = $"{parent.StatusNotes}\nLeave Form re-opened by user".Trim();
  27. }
  28. }
  29. }