Ejemplo n.º 1
0
        /// <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"));
            }
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
 private void ValidateMaster(BA01AViewModel master)
 {
 }
Ejemplo n.º 4
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 <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"));
            }
        }