#nullable enable using Comal.Classes; using InABox.Core; namespace Comal.Stores; public class LeaveRequestFormStore : EntityFormStore { protected override void UpdateParentStatus(IDigitalFormInstance form, LeaveRequest parent) { base.UpdateParentStatus(form, parent); if (!form.FormCancelled.IsEmpty()) { parent.Status = LeaveRequestStatus.Rejected; parent.StatusNotes = $"{parent.StatusNotes}\nLeave Form cancelled by user".Trim(); } else if (!form.FormCompleted.IsEmpty()) { if (parent.Status == LeaveRequestStatus.NotSubmitted) { parent.Status = LeaveRequestStatus.InProgress; parent.StatusNotes = $"{parent.StatusNotes}\nLeave Form submitted by user".Trim(); } } else { parent.Status = LeaveRequestStatus.NotSubmitted; parent.StatusNotes = $"{parent.StatusNotes}\nLeave Form re-opened by user".Trim(); } } }