| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 | 
							- using Comal.Classes;
 
- namespace Comal.Stores
 
- {
 
-     internal class ScheduleStore : BaseStore<Schedule>
 
-     {
 
-         //private void UpdateActiveScheduleCount(Schedule entity)
 
-         //{
 
-         //    Type doctype = entity.DocumentType();
 
-         //    var linktype = CoreUtils.TypeList(
 
-         //        AppDomain.CurrentDomain.GetAssemblies(),
 
-         //        x => (typeof(IEntityLink).GetTypeInfo().IsAssignableFrom(x) && (x.BaseType.GenericTypeArguments.Length == 1) && (x.BaseType.GenericTypeArguments[0] == doctype))
 
-         //    ).FirstOrDefault();
 
-         //    if (linktype == null)
 
-         //        return;
 
-         //    var link = Activator.CreateInstance(linktype) as IEntityLink;
 
-         //    link.ID = entity.DocumentID;
 
-         //    if (entity.HasOriginalValue(x=>x.DocumentID))               
 
-         //        ((BaseObject)link).OriginalValues["ID"] = entity.GetOriginalValue(x=>x.DocumentID);
 
-         //    ParameterExpression parameter = Expression.Parameter(doctype, "x");
 
-         //    MemberExpression property = Expression.Property(parameter, "ActiveSchedules");
 
-         //    var delegateType = typeof(Func<,>).MakeGenericType(doctype, typeof(int));
 
-         //    var tgt = Expression.Lambda(delegateType, property, parameter);
 
-         //    //var tgt = CoreUtils.CreateMemberExpression(entity.DocumentType, "ActiveSchedules");
 
-         //    Type aggtype = typeof(IntegerAggregate<,>).MakeGenericType(entity.GetType(), doctype);
 
-         //    var agg = Activator.CreateInstance(aggtype, null, tgt, AggregateType.Count);
 
-         //    Array arr = Array.CreateInstance(aggtype, 1);
 
-         //    arr.SetValue(agg, 0);
 
-         //    MethodInfo method = this.GetType().GetMethod("UpdateAggregate");
 
-         //    MethodInfo generic = method.MakeGenericMethod(doctype);
 
-         //    generic.Invoke(this, new object[] { entity, link, arr });
 
-         //}
 
-         //private enum ScheduleAction
 
-         //{
 
-         //    Update,
 
-         //    Delete
 
-         //}
 
-         //private void CheckScheduleActive(Schedule entity, ScheduleAction action)
 
-         //{
 
-         //    if (action == ScheduleAction.Delete)
 
-         //    {
 
-         //        // Is the stored version of this schedule Active?
 
-         //        bool bActive = entity.OriginalValues.ContainsKey("Active") ? (bool)entity.OriginalValues["Active"] : entity.Active;
 
-         //        if (bActive)
 
-         //        {
 
-         //            entity.DocumentID = Guid.Empty;
 
-         //            UpdateActiveScheduleCount(entity);
 
-         //        }
 
-         //    }
 
-         //    else
 
-         //    {
 
-         //        // Is this a new schedule that has already been set to active?
 
-         //        if (entity.ID.Equals(Guid.Empty) && entity.Active)
 
-         //            UpdateActiveScheduleCount(entity);
 
-         //        // Has the Active flag been changed?
 
-         //        else if (entity.OriginalValues.ContainsKey("Active"))
 
-         //        {
 
-         //            bool bOrig = false;
 
-         //            bool.TryParse(entity.OriginalValues["Active"].ToString(), out bOrig);
 
-         //            bool bCurrent = entity.Active;
 
-         //            if (bOrig != bCurrent)
 
-         //            {
 
-         //                Guid id = entity.DocumentID;
 
-         //                if (!bCurrent)
 
-         //                    entity.DocumentID = Guid.Empty;
 
-         //                UpdateActiveScheduleCount(entity);
 
-         //                entity.DocumentID = id;
 
-         //            }
 
-         //        }
 
-         //    }
 
-         //}
 
-         protected override void BeforeSave(Schedule entity)
 
-         {
 
-             base.BeforeSave(entity);
 
-             //CheckScheduleActive(entity,ScheduleAction.Update);
 
-         }
 
-         protected override void BeforeDelete(Schedule entity)
 
-         {
 
-             base.BeforeDelete(entity);
 
-             //CheckScheduleActive(entity, ScheduleAction.Delete);            
 
-         }
 
-     }
 
- }
 
 
  |