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()");
- }
- }
- }
- }
- }
|