using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Comal.Classes; using InABox.Core; namespace Comal.Stores { internal class LeaveRequestStore : BaseStore { protected override void OnSave(LeaveRequest entity, ref string auditnote) { base.OnSave(entity, ref auditnote); if (entity.HasOriginalValue(c => c.Status)) NotifyEmployee( entity, x => x.EmployeeLink.ID, e => e.HasOriginalValue(x => x.Status), e => $"Leave Request {e.Status}", e => { var sb = new StringBuilder(); sb.AppendLine( $"Your Leave Request submitted {e.Created:dd MMM yyy} for {e.From:dd MMM yy} - {e.To:dd MMM yy} has changed from {e.GetOriginalValue(c => c.Status)} to {e.Status}."); if (!string.IsNullOrWhiteSpace(e.StatusNotes)) sb.AppendLine($"\nNotes:\n{e.StatusNotes?.Trim()}"); return sb.ToString(); } ); } } }