|
@@ -2,51 +2,51 @@
|
|
|
using Comal.Classes;
|
|
|
using InABox.Core;
|
|
|
|
|
|
-namespace Comal.Stores
|
|
|
+namespace Comal.Stores;
|
|
|
+
|
|
|
+public class SchedulableStore<T> : BaseStore<T> where T : Entity, ISchedulable, new()
|
|
|
{
|
|
|
- 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.Query(
|
|
|
+ new Filter<Schedule>(x => x.DocumentClass).IsEqualTo(DocumentType.EntityName())
|
|
|
+ .And(x => x.DocumentID).IsEqualTo(id),
|
|
|
+ new Columns<Schedule>(x => x.ID))
|
|
|
+ .ToArray<Schedule>();
|
|
|
+ }
|
|
|
+
|
|
|
+ //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)
|
|
|
{
|
|
|
- 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);
|
|
|
- }
|
|
|
+ var schedules = GetSchedules(entity.ID);
|
|
|
+ foreach (var schedule in schedules)
|
|
|
+ FindSubStore<Schedule>().Delete(schedule, "Updated from Master Record");
|
|
|
+
|
|
|
+ base.BeforeDelete(entity);
|
|
|
}
|
|
|
}
|