/// <summary> /// Check permission for access screen CMS100 /// </summary> /// <param name="param"></param> /// <returns></returns> public ActionResult CMS100_Authority(CMS100_ScreenParameter param) // old: string GroupCode { ObjectResultData res = new ObjectResultData(); try { //Mock Data //GroupCode = "G0000024"; if (!CheckUserPermission(ScreenID.C_SCREEN_ID_VIEW_CUSTOMER_GROUP, FunctionID.C_FUNC_ID_OPERATE)) { res.AddErrorMessage(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0053); return(Json(res)); } if (CommonUtil.IsNullOrEmpty(param.GroupCode)) { res.AddErrorMessage(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0040); return(Json(res)); } IGroupMasterHandler hand = ServiceContainer.GetService <IGroupMasterHandler>() as IGroupMasterHandler; doGroup doGrp = new doGroup(); doGrp.GroupCode = param.GroupCode; List <doGroup> lst = hand.GetGroup(doGrp); if (lst.Count <= 0) { res.AddErrorMessage(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0001); return(Json(res)); } param.GroupData = lst[0]; param.GroupSummaryList = new List <dtGroupSummaryForShow>(); param.CustomerList = new List <dtCustomerListGrp>(); param.SiteList = new List <dtsiteListGrp>(); param.ContractList = new List <dtContractListGrp>(); return(InitialScreenEnvironment <CMS100_ScreenParameter>(CMS100_Screen, param, res)); } 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)); }