/// <summary> /// Logical delete group.<br /> /// - Check is used group.<br /> /// - Set delete flag.<br /> /// - Update database. /// </summary> /// <param name="GroupCode"></param> /// <returns></returns> public ActionResult MAS060_Delete(String GroupCode) { ObjectResultData res = new ObjectResultData(); try { //Check System Suspending res = checkSystemSuspending(); if (res.IsError) { return(Json(res)); } IGroupMasterHandler hand = ServiceContainer.GetService <IGroupMasterHandler>() as IGroupMasterHandler; bool bResult = hand.IsUsedGroupData(GroupCode); if (bResult) { res.AddErrorMessage(MessageUtil.MODULE_MASTER, MessageUtil.MessageList.MSG1009, new String[] { GroupCode }); return(Json(res)); } else { MAS060_ScreenParameter MAS060Param = GetScreenObject <MAS060_ScreenParameter>(); var doGroupList = from g in MAS060Param.SearchResult where g.GroupCode == GroupCode select g; foreach (var group in doGroupList) { //Update DeleteFlag group.DeleteFlag = true; hand.UpdateGroup(group); //Remove data from session MAS060Param.SearchResult.Remove(group); UpdateScreenObject(MAS060Param); break; } //when finish with out error res.ResultData = MessageUtil.GetMessage(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0047); } } catch (Exception ex) { res.AddErrorMessage(ex); } return(Json(res)); }
/// <summary> /// Add/Edit customer group.<br /> /// - Validate field.<br /> /// - Check exist active employee.<br /> /// - Check duplicate group.<br /> /// - Update database. /// </summary> /// <param name="cond"></param> /// <returns></returns> public ActionResult MAS060_AddEdit(MAS060_AddEdit cond) { ObjectResultData res = new ObjectResultData(); res.MessageType = MessageModel.MESSAGE_TYPE.WARNING; try { //Validate Required Field if (ModelState.IsValid == false) { ValidatorUtil.BuildErrorMessage(res, this); if (res.IsError) { return(Json(res)); } } //Already validate when load emp name //if (!CommonUtil.IsNullOrEmpty(cond.GroupEmpNo) && CommonUtil.IsNullOrEmpty(cond.GroupEmpName)) //{ // res.AddErrorMessage(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0024); // return Json(res); //} if (CommonUtil.IsNullOrEmpty(cond.GroupEmpNo) == false) { IEmployeeMasterHandler handler = ServiceContainer.GetService <IEmployeeMasterHandler>() as IEmployeeMasterHandler; if (handler.CheckExistActiveEmployee(cond.GroupEmpNo) == false) { res.AddErrorMessage(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0095, new string[] { cond.GroupEmpNo }, new string[] { "GroupEmpNo" }); return(Json(res)); } } IGroupMasterHandler hand = ServiceContainer.GetService <IGroupMasterHandler>() as IGroupMasterHandler; bool bResult = hand.CheckDuplicateGroupData(cond.GroupNameEN, cond.GroupCode); if (bResult) { res.AddErrorMessage(MessageUtil.MODULE_MASTER, MessageUtil.MessageList.MSG1010); res.MessageType = MessageModel.MESSAGE_TYPE.INFORMATION; return(Json(res)); } else { //Check System Suspending res = checkSystemSuspending(); if (res.IsError) { return(Json(res)); } MAS060_ScreenParameter MAS060Param = GetScreenObject <MAS060_ScreenParameter>(); doGroup resultObj = new doGroup(); if (cond.CurrentMode == FunctionID.C_FUNC_ID_ADD) { string strGroupCode = hand.GenerateGroupCode(); if (!CommonUtil.IsNullOrEmpty(strGroupCode)) { //set insert value doGroup group = new doGroup(); group.GroupCode = strGroupCode; group.GroupNameEN = cond.GroupNameEN; group.GroupNameLC = cond.GroupNameLC; group.Memo = cond.Memo; group.GroupOfficeCode = cond.GroupOfficeCode; group.GroupEmpNo = cond.GroupEmpNo; group.GroupEmpName = cond.GroupEmpName; group.DeleteFlag = cond.DeleteFlag; //Insert data in db List <tbm_Group> inserted = hand.InsertGroup(group); //Set new UpdateDate group.UpdateDate = inserted[0].UpdateDate; //Add new data in session if (MAS060Param.SearchResult == null) { MAS060Param.SearchResult = new List <doGroup>(); } MAS060Param.SearchResult.Add(group); UpdateScreenObject(MAS060Param); resultObj.GroupCode = strGroupCode; } } else if (cond.CurrentMode == FunctionID.C_FUNC_ID_EDIT) { var doGroupList = from g in MAS060Param.SearchResult where g.GroupCode == cond.GroupCode select g; foreach (var group in doGroupList) { //set update value group.GroupCode = cond.GroupCode; group.GroupNameEN = cond.GroupNameEN; group.GroupNameLC = cond.GroupNameLC; group.Memo = cond.Memo; group.GroupOfficeCode = cond.GroupOfficeCode; group.GroupEmpNo = cond.GroupEmpNo; group.GroupEmpName = cond.GroupEmpName; group.DeleteFlag = cond.DeleteFlag; if (CommonUtil.IsNullOrEmpty(group.UpdateDate)) { res.AddErrorMessage( MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0007, new string[] { "UpdateDate" }); return(Json(res)); } //Update data in db List <tbm_Group> updated = hand.UpdateGroup(group); //Set new UpdateDate group.UpdateDate = updated[0].UpdateDate; //Save edit data in session UpdateScreenObject(MAS060Param); resultObj.GroupCode = cond.GroupCode; break; } } //when finish with out error Object[] result = new Object[2]; result[0] = resultObj; result[1] = MessageUtil.GetMessage(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0046); res.ResultData = result; } } catch (Exception ex) { res.AddErrorMessage(ex); } return(Json(res)); }