| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 | using System;using Comal.Classes;using InABox.Core;namespace Comal.Stores{    public class SchedulableStore<T> : BaseStore<T> where T : Entity, ISchedulable, new()    {        public Type DocumentType => typeof(T); //.Name;        private Schedule[] GetSchedules(Guid id)        {            var store = FindSubStore<Schedule>();            return store.Load(                new Filter<Schedule>(x => x.DocumentClass).IsEqualTo(DocumentType.EntityName())                    .And(x => x.DocumentID).IsEqualTo(id)            );        }        //protected override void BeforeSave(T entity)        //{        //	base.BeforeSave(entity);        //	Schedule schedule = GetSchedule(entity.ID);        //	if (schedule != null)        //		entity.ScheduleEnabled = schedule.Enabled;        //}        //protected override void AfterSave(T entity)        //{        //	base.AfterSave(entity);        //	Schedule schedule = GetSchedule(entity.ID);        //	if (schedule == null)        //	{        //		schedule = new Schedule();        //		schedule.DocumentID = entity.ID;        //		schedule.DocumentType = DocumentType;        //		FindSubStore<Schedule>().Save(ref schedule, "Updated from Master Record");        //	}        //}        protected override void BeforeDelete(T entity)        {            var schedules = GetSchedules(entity.ID);            foreach (var schedule in schedules)                FindSubStore<Schedule>().Delete(schedule, "Updated from Master Record");            base.BeforeDelete(entity);        }    }}
 |