示例#1
0
        public static ResultHelper <BA02A> BeforeSave(BA02AModel model, ref BA02A entity, EntityState state, ModelStateDictionary ModelState)
        {
            var errMsg = "";

            if (state == EntityState.Added) //新增
            {
                errMsg = Validation(model, ModelState);
                if (errMsg == "" || ModelState.IsValid)
                {
                    ToEntity(model, ref entity);
                    entity.CREATE_USER = "******";
                    entity.CREATE_DATE = DateTime.Now;
                }
            }
            else if (state == EntityState.Modified)//修改
            {
                errMsg = entity.BA02A_ID == 0 ? "資料已被刪除<br/>" : Validation(model, ModelState);
                if (errMsg == "" || ModelState.IsValid)
                {
                    ToEntity(model, ref entity);
                    entity.UPDATE_USER = "******";
                    entity.UPDATE_DATE = DateTime.Now;
                }
            }
            else //刪除
            {
                errMsg = entity == null ? "資料已被刪除" : "";
            }

            return(new ResultHelper <BA02A>()
            {
                Data = entity, Message = errMsg
            });
        }
示例#2
0
        public string SaveChanges(BA02A entity, EntityState state)
        {
            string errMsg = "";

            using (var trans = _entity.Database.BeginTransaction(IsolationLevel.Snapshot))
            {
                try
                {
                    if (state == EntityState.Deleted)
                    {
                        _BA02BRepository.Delete(x => x.BA02A_ID == entity.BA02A_ID);
                        _BA02ARepository.Delete(entity);
                    }
                    _entity.SaveChanges();
                    trans.Commit();
                }
                catch (System.Data.Entity.Validation.DbEntityValidationException ex)
                {
                    errMsg = ex.Message;
                }
                catch (Exception ex)
                {
                    errMsg = SQLHelper.GetSQLMessage(ex);
                }
            }
            return(errMsg);
        }
示例#3
0
        private static void ToEntity(BA02AModel model, ref BA02A entity)
        {
            List <string> exclusiveList = new List <string>()
            {
                "CREATE_USER", "CREATE_DATE", "LASTUPDATE_USER", "LASTUPDATE_DATE"
            };
            var objectHelper = new ObjectHelper();

            objectHelper.CopyValue(model, entity, exclusiveList);
        }
示例#4
0
        /// <summary>
        /// entity to viewmodel
        /// </summary>
        /// <param name="entity"></param>
        public void FromDomain(BA02A entity)
        {
            if (entity != null)
            {
                var objectHelper = new ActWeis.Utility.ObjectHelper();
                objectHelper.CopyValue(entity, this);

                #region [ 資料處理 ]
                #endregion [ 資料處理 ]
            }
        }
示例#5
0
        public static BA02AModel FromEntity(BA02A entity)
        {
            var data = new BA02AModel();

            if (entity != null)
            {
                var objectHelper = new ObjectHelper();
                objectHelper.CopyValue(entity, data);
            }
            return(data);
        }
示例#6
0
        /// <summary>
        /// viewmodel to entity
        /// </summary>
        /// <param name="entity"></param>
        public void ToDomain(BA02A entity)
        {
            if (entity != null)
            {
                #region [ 資料處理 ]

                #endregion [ 資料處理 ]

                var objectHelper = new ActWeis.Utility.ObjectHelper();
                objectHelper.CopyValue(this, entity);
            }
        }
示例#7
0
        public string SaveChangeBatch(ref BA02A entity, EntityState state, List <BA02B> CreateD, List <BA02B> UpdateD, List <int> DeleteD)
        {
            var errMsg = "";

            using (var trans = _entity.Database.BeginTransaction(IsolationLevel.Snapshot))
            {
                try
                {
                    if (state == EntityState.Added)
                    {
                        _BA02ARepository.Add(entity);
                    }
                    else if (state == EntityState.Modified)
                    {
                        _BA02ARepository.Update(entity);
                    }
                    _entity.SaveChanges();

                    foreach (var item in CreateD)
                    {
                        item.BA02A_ID = entity.BA02A_ID;
                        _BA02BRepository.Add(item);
                    }
                    foreach (var item in UpdateD)
                    {
                        item.BA02A_ID = entity.BA02A_ID;
                        _BA02BRepository.Update(item);
                    }
                    _BA02BRepository.Delete(x => DeleteD.Contains(x.BA02B_ID));

                    _entity.SaveChanges();
                    trans.Commit();
                }
                catch (System.Data.Entity.Validation.DbEntityValidationException ex)
                {
                    errMsg = ex.Message;
                }
                catch (Exception ex)
                {
                    errMsg = SQLHelper.GetSQLMessage(ex);
                }
            }
            return(errMsg);
        }
示例#8
0
        private BA02A MasterToEntity(BA02AViewModel master)
        {
            var BA02A = new BA02A();

            if (master.BA02A_ID == 0)//Adding New
            {
                master.CREATE_USER = UserInfo.Id;
                master.CREATE_DATE = DateTime.Now;
                master.ToDomain(BA02A);
            }
            else//Update
            {
                BA02A = _Service.GetM(master.BA02A_ID);
                master.CREATE_USER = BA02A.CREATE_USER;
                master.CREATE_DATE = BA02A.CREATE_DATE;
                master.UPDATE_USER = UserInfo.Id;
                master.UPDATE_DATE = DateTime.Now;
                master.ToDomain(BA02A);
            }
            return(BA02A);
        }
示例#9
0
 public BA02AViewModel(BA02A entity)
 {
     this.FromDomain(entity);
 }