| 123456789101112131415161718192021222324252627 | using System;using System.Linq;using Comal.Classes;using InABox.Core;namespace Comal.Stores{    public class ScheduleActionStore<T> : BaseStore<T> where T : Entity, IScheduleAction, new()    {        protected override void AfterSave(T entity)        {            base.AfterSave(entity);            if (entity.HasOriginalValue(x => x.Completed) && !entity.Completed.Equals(DateTime.MinValue) &&                entity.ScheduleLink.IsValid() &&                entity.ScheduleLink.Rollover == ScheduleRollover.FromActualDate)            {                var schedulestore = FindSubStore<Schedule>();                var schedule = schedulestore.Load(new Filter<Schedule>(x => x.ID).IsEqualTo(entity.ScheduleLink.ID)).FirstOrDefault();                if (schedule != null)                {                    schedule.DueDate = schedule.GetNextDate(entity.Completed);                    schedulestore.Save(schedule, "Updated by Task AfterSave()");                }            }        }    }}
 |