using System; 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 => string.Format("Leave Request {0}", e.Status), e => { var sb = new StringBuilder(); sb.AppendLine(string.Format( "Your Leave Request submitted {0:dd MMM yyy} for {1:dd MMM yy} - {2:dd MMM yy} has changed from {3} to {4}.", e.Created, e.From, e.To, e.GetOriginalValue(c => c.Status), e.Status )); if (!string.IsNullOrWhiteSpace(e.StatusNotes)) sb.AppendLine(string.Format("\nNotes:\n{0}", e.StatusNotes?.Trim())); return sb.ToString(); } ); } } }