/// <summary>Only master data change</summary> /// <param name="master"></param> /// <returns></returns> public ActionResult DetailGridCustomUpdate(BA01AViewModel master) { string errMsg = ""; //Validation ValidateMaster(master); //Save if (ModelState.IsValid) { var BA01A = MasterToEntity(master); var result = _Service.UpdateM(BA01A); errMsg = result.Message; master = new BA01AViewModel(result.Data); } //Result if (errMsg.Length > 0 || !ModelState.IsValid) { errMsg += Resources.Resource.FailureStr; ViewData["EditErrorMsg"] = errMsg; ViewData["MasterForm"] = ReadViewHelper.PartialView(this, "_MasterForm", master); return(PartialView("_DetailGrid", GetBA01BList(master.BA01A_ID))); } else { SetTempData(master.BA01A_ID); CacheHelper.Invalidate("BA01A"); return(RedirectToAction("Index")); } }
private BA01A MasterToEntity(BA01AViewModel master) { var BA01A = new BA01A(); if (master.BA01A_ID == 0)//Adding New { master.CREATE_USER = UserInfo.Id; master.CREATE_DATE = DateTime.Now; master.ToDomain(BA01A); } else//Update { BA01A = _Service.GetM(master.BA01A_ID); master.CREATE_USER = BA01A.CREATE_USER; master.CREATE_DATE = BA01A.CREATE_DATE; master.UPDATE_USER = UserInfo.Id; master.UPDATE_DATE = DateTime.Now; master.ToDomain(BA01A); } return(BA01A); }
private void ValidateMaster(BA01AViewModel master) { }
/// <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 <BA01BViewModel, int> updateValues, BA01AViewModel master) { int errorCount = 0; //Validation ValidateMaster(master); for (int i = 0; i < updateValues.Insert.Count; i++) { if (updateValues.IsValid(updateValues.Insert[i]) == false) { errorCount++; } } for (int i = 0; i < updateValues.Update.Count; i++) { if (updateValues.IsValid(updateValues.Update[i]) == false) { errorCount++; } } string errMsg = ""; //Save if (errorCount == 0 && ModelState.IsValid) { var BA01A = MasterToEntity(master); var addList = new List <BA01B>(); foreach (var item in updateValues.Insert) { var BA01B = new BA01B(); item.CREATE_USER = UserInfo.Id; item.CREATE_DATE = DateTime.Now; item.ToDomain(BA01B); addList.Add(BA01B); } var updateList = new List <BA01B>(); foreach (var item in updateValues.Update) { var BA01B = new BA01B(); BA01B = _Service.GetD(x => x.BA01B_ID == item.BA01B_ID); item.BA01A_ID = BA01B.BA01A_ID; item.CREATE_USER = BA01B.CREATE_USER; item.CREATE_DATE = BA01B.CREATE_DATE; item.UPDATE_USER = UserInfo.Id; item.UPDATE_DATE = DateTime.Now; item.ToDomain(BA01B); updateList.Add(BA01B); } errMsg = _Service.UpdateMD(BA01A, addList, updateList, updateValues.DeleteKeys); } //Result if (errorCount > 0 || 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"] = Resources.Resource.FailureStr + "<br />" + errMsg; ViewData["DeleteIDList"] = deleteIDStrList; ViewData["MasterForm"] = ReadViewHelper.PartialView(this, "_MasterForm", master); return(PartialView("_DetailGrid", GetBA01BList(master.BA01A_ID))); } else { CacheHelper.Invalidate("BA01A"); SetTempData(master.BA01A_ID); return(RedirectToAction("Index")); } }