Example #1
0
        private static List <BA02B> ToEntity(List <BA02BModel> model, List <BA02B> entityList, EntityState state)
        {
            if (state == EntityState.Added)
            {
                foreach (BA02BModel item in model)
                {
                    var entityItem = new BA02B();
                    ToEntity(item, ref entityItem);

                    entityItem.CREATE_USER = "******";
                    entityItem.CREATE_DATE = DateTime.Now;
                    entityList.Add(entityItem);
                }
            }
            else
            {
                foreach (BA02BModel item in model)
                {
                    var entityItem = entityList.First(x => x.BA02B_ID == item.BA02B_ID);
                    ToEntity(item, ref entityItem);

                    entityItem.UPDATE_USER = "******";
                    entityItem.UPDATE_DATE = DateTime.Now;
                }
            }
            return(entityList);
        }
Example #2
0
        private static void ToEntity(BA02BModel model, ref BA02B entity)
        {
            List <string> exclusiveList = new List <string>()
            {
                "CREATE_USER", "CREATE_DATE", "LASTUPDATE_USER", "LASTUPDATE_DATE"
            };
            var objectHelper = new ObjectHelper();

            objectHelper.CopyValue(model, entity, exclusiveList);
        }
Example #3
0
        /// <summary>
        /// viewmodel to entity
        /// </summary>
        /// <param name="entity"></param>
        public void ToDomain(BA02B entity)
        {
            if (entity != null)
            {
                var objectHelper = new ActWeis.Utility.ObjectHelper();
                objectHelper.CopyValue(this, entity);

                #region [ 資料處理 ]
                #endregion [ 資料處理 ]
            }
        }
Example #4
0
        public static BA02BModel FromEntity(BA02B entity)
        {
            var data = new BA02BModel();

            if (entity != null)
            {
                var objectHelper = new ObjectHelper();
                objectHelper.CopyValue(entity, data);
            }
            return(data);
        }
Example #5
0
        /// <summary>
        /// entity to viewmodel
        /// </summary>
        /// <param name="entity"></param>
        public void FromDomain(BA02B entity)
        {
            if (entity != null)
            {
                var objectHelper = new ActWeis.Utility.ObjectHelper();
                objectHelper.CopyValue(entity, this);

                #region [ 資料處理 ]
                //var item = CacheCommonDataModule.GetVW_FA11A().Where(x => x.FA11A_ID == entity.FA11A_ID).FirstOrDefault();
                //if (item != null)
                //{
                //    this.ITM_NO = item.ITM_NO;
                //    this.ITM_NM = item.ITM_NM;
                //    if (item.FA24A_ID_PUR.HasValue && !this.FA24A_ID.HasValue)
                //    {
                //        this.FA24A_ID = item.FA24A_ID_PUR.Value;
                //    }
                //}

                #endregion [ 資料處理 ]
            }
        }
Example #6
0
        /// <summary>Both master and detail has change</summary>
        /// <param name="batchData">contain updata、insert、delete list</param>
        /// <param name="master"></param>
        /// <returns></returns>
        public ActionResult DetailGridBatchUpdate(MVCxGridViewBatchUpdateValues <BA02BViewModel, int> updateValues, BA02AViewModel master)
        {
            string errMsg     = "";
            int    errorCount = 0;
            int    BA02A_ID   = master.BA02A_ID;

            //Validation
            ValidateMaster(master);

            for (int i = 0; i < updateValues.Insert.Count; i++)
            {
                if (updateValues.IsValid(updateValues.Insert[i]) == false)
                {
                    errorCount++;
                }
                if (updateValues.Insert[i].PUR_PR < 0)
                {
                    errorCount++;
                    ModelState.AddModelError($"Insert[{i}].PUR_PR", "金額不可為負");//display error in cell
                }
                //if (updateValues.Insert[i].REM_MM.Length > 10)
                //{
                //    errorCount++;
                //    ModelState.AddModelError($"Update[{i}].REM_MM", "REM_MM太長");//display error in cell
                //}
                //foreach (var err in DDMHelper.ValidateData("BA02B", updateValues.Insert[i], replace: replace))
                //{
                //    errorCount++;
                //    ModelState.AddModelError($"Insert[{i}].{err.Key}", err.Value);//display error in cell
                //}
            }

            for (int i = 0; i < updateValues.Update.Count; i++)
            {
                if (updateValues.IsValid(updateValues.Update[i]) == false)
                {
                    errorCount++;
                }
                if (updateValues.Update[i].PUR_PR < 0)
                {
                    errorCount++;
                    ModelState.AddModelError($"Insert[{i}].PUR_PR", "金額不可為負");//display error in cell
                }
                //if (updateValues.Update[i].REM_MM.Length > 10)
                //{
                //    errorCount++;
                //    ModelState.AddModelError($"Update[{i}].REM_MM", "REM_MM太長");//display error in cell
                //}
                //foreach (var err in DDMHelper.ValidateData("BA02B", updateValues.Update[i], replace: replace))
                //{
                //    errorCount++;
                //    ModelState.AddModelError($"Update[{i}].{err.Key}", err.Value);//display error in cell
                //}
            }

            //Save
            if (errorCount == 0 && ModelState.IsValid)
            {
                var BA02A = MasterToEntity(master);

                var addList = new List <BA02B>();
                foreach (var item in updateValues.Insert)
                {
                    var BA02B = new BA02B();
                    item.REM_MM      = master.REM_MM;
                    item.CREATE_USER = UserInfo.Id;
                    item.CREATE_DATE = DateTime.Now;
                    item.ToDomain(BA02B);
                    addList.Add(BA02B);
                }

                var updateList = new List <BA02B>();
                foreach (var item in updateValues.Update)
                {
                    var BA02B = new BA02B();
                    BA02B            = _Service.GetD(x => x.BA02B_ID == item.BA02B_ID);
                    item.CREATE_USER = BA02B.CREATE_USER;
                    item.CREATE_DATE = BA02B.CREATE_DATE;
                    item.UPDATE_USER = UserInfo.Id;
                    item.UPDATE_DATE = DateTime.Now;
                    item.ToDomain(BA02B);
                    updateList.Add(BA02B);
                }

                errMsg = _Service.UpdateMD(BA02A, addList, updateList, updateValues.DeleteKeys);
            }

            //Result
            if (errMsg.Length > 0 || !ModelState.IsValid)
            {
                for (int i = 0; i < updateValues.Insert.Count; i++)
                {
                    ModelState.AddModelError($"Insert[{i}].IsValid", "Error");
                }

                for (int i = 0; i < updateValues.Update.Count; i++)
                {
                    ModelState.AddModelError($"Update[{i}].IsValid", "Error");
                }

                string deleteIDStrList = "";
                for (int i = 0; i < updateValues.DeleteKeys.Count; i++)
                {
                    updateValues.SetErrorText(updateValues.DeleteKeys[i], "Unable to delete!");
                    deleteIDStrList += updateValues.DeleteKeys[i] + ",";
                }
                ViewData["EditErrorMsg"] = "Failure" + "<br />" + errMsg;
                ViewData["DeleteIDList"] = deleteIDStrList;
                ViewData["MasterForm"]   = ReadViewHelper.PartialView(this, "_MasterForm", master);
                return(PartialView("_DetailGrid", GetBA02BList(BA02A_ID)));
            }
            else
            {
                CacheHelper.Invalidate("BA02A");
                SetTempData(master.BA02A_ID);
                return(RedirectToAction("Index"));
            }
        }
Example #7
0
 public BA02BViewModel(BA02B entity)
 {
     this.FromDomain(entity);
 }