예제 #1
0
파일: Repository.cs 프로젝트: eramax/MODON
        public virtual TEntity Update(TEntity entity, ref IMDResponse res)
        {
            if (!RuleRepository <TEntity> .IsValid(entity, ref res) || !dbSet.Any(e => e.Id == entity.Id))
            {
                return(null);
            }
            try
            {
                entity.ModifiedDate = DateTime.Now;
                entity.ModifiedById = CurrentUser.UserId;
                entity.Version++;
                var CanIDo = RuleRepository <TEntity> .ProcessModifiers(CurrentUser.Role, ref entity, false);

                if (!CanIDo)
                {
                    return(null);
                }
                Attach(entity);
                Entities = null;
            }
            catch (Exception ex) {
                res.Error(ex, entity);
                return(null);
            }
            return(entity);
        }
예제 #2
0
파일: Repository.cs 프로젝트: eramax/MODON
 public virtual void HardDelete(TEntity entity, ref IMDResponse res)
 {
     try
     {
         if (context.Entry(entity).State == EntityState.Detached)
         {
             dbSet.Attach(entity);
         }
         dbSet.Remove(entity);
         Entities = null;
     }
     catch (Exception ex) { res.Error(ex, entity); }
 }
예제 #3
0
파일: Repository.cs 프로젝트: eramax/MODON
        public virtual TEntity Insert(TEntity entity, ref IMDResponse res)
        {
            if (!RuleRepository <TEntity> .IsValid(entity, ref res))
            {
                return(null);
            }
            try
            {
                entity.CreatedById = CurrentUser.UserId;
                entity.CreatedDate = DateTime.Now;
                var CanIDo = RuleRepository <TEntity> .ProcessModifiers(CurrentUser.Role, ref entity, true);

                if (!CanIDo)
                {
                    return(null);
                }
                dbSet.Add(entity);
                Entities = null;
            }
            catch (Exception ex) { res.Error(ex, entity); return(null); }
            return(entity);
        }
예제 #4
0
파일: UnitOfWork.cs 프로젝트: eramax/MODON
 public void Save(ref IMDResponse res)
 {
     try { context.SaveChanges(); }
     catch (Exception ex) { res.Error(ex); }
 }