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); }
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); }
/// <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 [ 資料處理 ] } }
public static BA02BModel FromEntity(BA02B entity) { var data = new BA02BModel(); if (entity != null) { var objectHelper = new ObjectHelper(); objectHelper.CopyValue(entity, data); } return(data); }
/// <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 [ 資料處理 ] } }
/// <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")); } }
public BA02BViewModel(BA02B entity) { this.FromDomain(entity); }