Exemple #1
0
        IList <EntityDTO> IDeleteInfo.GetDependEntities(IDeleteCore core, DeleteDependenceInfo depend, EntityDTO masterEntity)
        {
            if (depend.PropertyName != null)
            {
                var list = core.UoW.Session.CreateCriteria(ObjectClass)
                           .Add(Restrictions.Eq(depend.PropertyName + ".Id", (int)masterEntity.Id)).List();

                return(MakeResultList(list));
            }
            else if (depend.CollectionName != null)
            {
                CheckAndLoadEntity(core, masterEntity);
                return(MakeResultList(
                           masterEntity.Entity.GetPropertyValue(depend.CollectionName) as IList));
            }
            else if (depend.ParentPropertyName != null)
            {
                CheckAndLoadEntity(core, masterEntity);
                var value = (TEntity)masterEntity.Entity.GetPropertyValue(depend.ParentPropertyName);

                return(MakeResultList(value == null ? new List <TEntity>() : new List <TEntity> {
                    value
                }));
            }

            throw new NotImplementedException();
        }
Exemple #2
0
        private static IList GetLinkedEntities(IUnitOfWork uow, DeleteDependenceInfo depend, IDomainObject masterEntity)
        {
            if (depend.PropertyName != null)
            {
                var list = uow.Session.CreateCriteria(depend.ObjectClass)
                           .Add(Restrictions.Eq(depend.PropertyName + ".Id", masterEntity.Id)).List();

                return(list);
            }
            else if (depend.CollectionName != null)
            {
                //CheckAndLoadEntity(core, masterEntity);
                //return MakeResultList(
                //	masterEntity.Entity.GetPropertyValue(depend.CollectionName) as IList);
            }
            else if (depend.ParentPropertyName != null)
            {
                //CheckAndLoadEntity(core, masterEntity);
                //var value = (TEntity)masterEntity.Entity.GetPropertyValue(depend.ParentPropertyName);

                //return MakeResultList(value == null ? new List<TEntity>() : new List<TEntity> { value });
            }

            throw new NotImplementedException();
        }
Exemple #3
0
 public Operation CreateDeleteOperation(EntityDTO masterEntity, DeleteDependenceInfo depend, IList <EntityDTO> dependEntities)
 {
     return(new HibernateDeleteOperation {
         ItemId = masterEntity.Id,
         DeletingItems = dependEntities
     });
 }
Exemple #4
0
        public DeleteInfoHibernate <TEntity> AddDeleteDependenceFromCollection(Expression <Func <TEntity, object> > propertyRefExpr)
        {
            string propName = PropertyUtil.GetName(propertyRefExpr);

            DeleteItems.Add(DeleteDependenceInfo.CreateFromCollection <TEntity>(propName));
            return(this);
        }
Exemple #5
0
 public Operation CreateDeleteOperation(EntityDTO masterEntity, DeleteDependenceInfo depend, IList <EntityDTO> dependEntities)
 {
     return(new SQLDeleteOperation {
         ItemId = masterEntity.Id,
         TableName = TableName,
         WhereStatment = depend.WhereStatment
     });
 }
Exemple #6
0
        public static void AddDeleteDependence <ToClass> (DeleteDependenceInfo deleteDependence)
        {
            var info = ClassInfos.Find(i => i.ObjectClass == typeof(ToClass));

            if (info == null)
            {
                throw new InvalidOperationException(String.Format("Описание удаления для класса {0} не найдено.", typeof(ToClass)));
            }

            info.DeleteItems.Add(deleteDependence);
        }
Exemple #7
0
 public static void AddDeleteDependence <ToClass> (DeleteDependenceInfo deleteDependence)
 {
     Main.AddDeleteDependence <ToClass>(deleteDependence);
 }
Exemple #8
0
 public DeleteInfoHibernate <TEntity> AddDeleteDependence(DeleteDependenceInfo info)
 {
     DeleteItems.Add(info);
     return(this);
 }
Exemple #9
0
 public DeleteInfoHibernate <TEntity> AddDeleteCascadeDependence(Expression <Func <TEntity, object> > propertyRefExpr)
 {
     DeleteItems.Add(DeleteDependenceInfo.CreateFromParentPropery <TEntity> (propertyRefExpr));
     return(this);
 }
Exemple #10
0
 public DeleteInfoHibernate <TEntity> AddDeleteDependence <TDependOn>(Expression <Func <TDependOn, object> > propertyRefExpr)
 {
     DeleteItems.Add(DeleteDependenceInfo.Create <TDependOn> (propertyRefExpr));
     return(this);
 }
Exemple #11
0
 IList <EntityDTO> IDeleteInfo.GetDependEntities(IDeleteCore core, DeleteDependenceInfo depend, EntityDTO masterEntity)
 {
     return(GetEntitiesList(depend.WhereStatment, masterEntity.Id));
 }