/// <summary> /// Validate customer data.<br /> /// - Check require field.<br /> /// - Check duplicate ID.<br /> /// - Check duplicate local name.<br /> /// - Generate full address. /// </summary> /// <param name="customer"></param> /// <returns></returns> public ActionResult MAS050_ConfirmData(MAS050_CheckRequiredField customer) { ObjectResultData res = new ObjectResultData(); res.MessageType = MessageModel.MESSAGE_TYPE.WARNING; try { if (ModelState.IsValid == false) { if (customer.IsFullValidate) { ValidatorUtil.BuildErrorMessage(res, this); return(Json(res)); } else { object validate = null; if (CommonUtil.IsNullOrEmpty(customer.CustCode) == true) { validate = CommonUtil.CloneObject <doCustomer, MAS050_CheckRequiredFieldCustNull>(customer); } else { validate = CommonUtil.CloneObject <doCustomer, MAS050_CheckRequiredFieldNotFull>(customer); } ValidatorUtil.BuildErrorMessage(res, new object[] { validate }); if (res.IsError) { return(Json(res)); } } } //Add by Jutarat A. on 02012014 if (customer != null) { if (customer.CustTypeCode == CustomerType.C_CUST_TYPE_JURISTIC || customer.CustTypeCode == CustomerType.C_CUST_TYPE_ASSOCIATION || customer.CustTypeCode == CustomerType.C_CUST_TYPE_PUBLIC_OFFICE) { if (customer.DummyIDFlag != null && customer.DummyIDFlag.Value == false) { if (CommonUtil.IsNullOrEmpty(customer.IDNo) == false && customer.IDNo.Length != 15) { res.AddErrorMessage(MessageUtil.MODULE_MASTER, "MAS050", MessageUtil.MODULE_MASTER, MessageUtil.MessageList.MSG1060, null, new string[] { "IDNo" }); res.MessageType = MessageModel.MESSAGE_TYPE.INFORMATION; return(Json(res)); } } } } //End Add #region Update code CommonUtil cmm = new CommonUtil(); if (customer != null) { customer.CustCode = cmm.ConvertCustCode(customer.CustCode, CommonUtil.CONVERT_TYPE.TO_LONG); } #endregion string callerID = null; MAS050_ScreenParameter param = GetScreenObject <MAS050_ScreenParameter>(); if (param != null) { callerID = param.CallerScreenID; } if (callerID != ScreenID.C_SCREEN_ID_QTN_TARGET) { bool isChanged = MAS050_IsCustomerChanged(customer); if (isChanged == true) { customer.CustCode = null; customer.CustStatus = null; customer.CustStatusName = null; ICustomerMasterHandler custhandler = ServiceContainer.GetService <ICustomerMasterHandler>() as ICustomerMasterHandler; #region Check duplicate customer if (customer != null) { if (custhandler.CheckDuplicateCustomer_IDNo(customer) == true) { res.AddErrorMessage(MessageUtil.MODULE_MASTER, MessageUtil.MessageList.MSG1003); res.MessageType = MessageModel.MESSAGE_TYPE.INFORMATION; return(Json(res)); } if (custhandler.CheckDuplicateCustomer_CustNameLC(customer) == true) { res.AddErrorMessage(MessageUtil.MODULE_MASTER, MessageUtil.MessageList.MSG1004); res.MessageType = MessageModel.MESSAGE_TYPE.WARNING_DIALOG_LIST; } } #endregion } } #region Create Customer Address Full IMasterHandler mhandler = ServiceContainer.GetService <IMasterHandler>() as IMasterHandler; mhandler.CreateAddressFull(customer); #endregion res.ResultData = customer; } catch (Exception ex) { res.AddErrorMessage(ex); } return(Json(res)); }
/// <summary> /// Validate customer data.<br /> /// - Set company type.<br /> /// - Set nationality.<br /> /// - Set business type.<br /> /// - Set province.<br /> /// - Set district.<br /> /// - Check require field. /// </summary> /// <returns></returns> public ActionResult MAS050_ValidateData() { ObjectResultData res = new ObjectResultData(); res.MessageType = MessageModel.MESSAGE_TYPE.WARNING; try { doCustomer custDo = null; MAS050_ScreenParameter custData = GetScreenObject <MAS050_ScreenParameter>(); if (custData != null) { if (custData.doCustomer != null) { custDo = custData.doCustomer; } } if (custDo != null) { IMasterHandler mhandler = ServiceContainer.GetService <IMasterHandler>() as IMasterHandler; ICommonHandler chandler = ServiceContainer.GetService <ICommonHandler>() as ICommonHandler; #region Set Misc Data MiscTypeMappingList miscList = new MiscTypeMappingList(); miscList.AddMiscType(custDo); chandler.MiscTypeMappingList(miscList); #endregion #region Company Type if (CommonUtil.IsNullOrEmpty(custDo.CompanyTypeCode) == false) { List <doCompanyType> clst = mhandler.GetCompanyType(custDo.CompanyTypeCode); if (clst.Count > 0) { custDo.CompanyTypeName = clst[0].CompanyTypeName; } } #endregion #region Nationality Data if (CommonUtil.IsNullOrEmpty(custDo.RegionCode) == false) { List <tbm_Region> nlst = mhandler.GetTbm_Region(); if (nlst.Count > 0) { foreach (tbm_Region r in nlst) { if (custDo.RegionCode == r.RegionCode) { custDo.Nationality = r.Nationality; break; } } } } #endregion #region BusinessType Data if (CommonUtil.IsNullOrEmpty(custDo.BusinessTypeCode) == false) { List <tbm_BusinessType> blst = mhandler.GetTbm_BusinessType(); if (blst.Count > 0) { foreach (tbm_BusinessType b in blst) { if (custDo.BusinessTypeCode == b.BusinessTypeCode) { custDo.BusinessTypeName = b.BusinessTypeName; break; } } } } #endregion #region Province Data if (CommonUtil.IsNullOrEmpty(custDo.ProvinceCode) == false) { List <tbm_Province> plst = mhandler.GetTbm_Province(); if (plst.Count > 0) { foreach (tbm_Province pv in plst) { if (custDo.ProvinceCode == pv.ProvinceCode) { custDo.ProvinceNameEN = pv.ProvinceNameEN; custDo.ProvinceNameLC = pv.ProvinceNameLC; break; } } } } #endregion #region District if (CommonUtil.IsNullOrEmpty(custDo.DistrictCode) == false) { List <tbm_District> dlst = mhandler.GetTbm_District(custDo.ProvinceCode); if (dlst.Count > 0) { foreach (tbm_District d in dlst) { if (custDo.ProvinceCode == d.ProvinceCode && custDo.DistrictCode == d.DistrictCode) { custDo.DistrictNameEN = d.DistrictNameEN; custDo.DistrictNameLC = d.DistrictNameLC; break; } } } } #endregion if (CommonUtil.IsNullOrEmpty(custDo.CustTypeName) || custDo.CustTypeCode != CustomerType.C_CUST_TYPE_JURISTIC) { custDo.CompanyTypeName = null; } if (CommonUtil.IsNullOrEmpty(custDo.CompanyTypeName) || custDo.CompanyTypeCode != CompanyType.C_COMPANY_TYPE_PUBLIC_CO_LTD) { custDo.FinancialMaketTypeName = null; } } MAS050_ValidateCombo validate = CommonUtil.CloneObject <doCustomer, MAS050_ValidateCombo>(custDo); ValidatorUtil.BuildErrorMessage(res, new object[] { validate }); if (custDo != null) { if (custDo.ValidateCustomerData == false) { object validate1 = null; if (custData.CallerScreenID == ScreenID.C_SCREEN_ID_PROJ_NEW || custData.CallerScreenID == ScreenID.C_SCREEN_ID_PROJ_CHANGE || custData.CallerScreenID == ScreenID.C_SCREEN_ID_QTN_TARGET) { if (CommonUtil.IsNullOrEmpty(custDo.CustCode) == true) { MAS050_CheckRequiredFieldCustNull cCustDo = CommonUtil.CloneObject <doCustomer, MAS050_CheckRequiredFieldCustNull>(custDo); validate1 = cCustDo; } else { MAS050_CheckRequiredFieldNotFull cCustDo = CommonUtil.CloneObject <doCustomer, MAS050_CheckRequiredFieldNotFull>(custDo); validate1 = cCustDo; } } else { MAS050_CheckRequiredField cCustDo = CommonUtil.CloneObject <doCustomer, MAS050_CheckRequiredField>(custDo); validate1 = cCustDo; } ValidatorUtil.BuildErrorMessage(res, new object[] { validate1 }); } } //Add by Jutarat A. on 02012014 if (custDo != null) { if (custDo.CustTypeCode == CustomerType.C_CUST_TYPE_JURISTIC || custDo.CustTypeCode == CustomerType.C_CUST_TYPE_ASSOCIATION || custDo.CustTypeCode == CustomerType.C_CUST_TYPE_PUBLIC_OFFICE) { if (custDo.DummyIDFlag != null && custDo.DummyIDFlag.Value == false) { if (CommonUtil.IsNullOrEmpty(custDo.IDNo) == false && custDo.IDNo.Length != 15) { res.AddErrorMessage(MessageUtil.MODULE_MASTER, "MAS050", MessageUtil.MODULE_MASTER, MessageUtil.MessageList.MSG1060, null, new string[] { "IDNo" }); res.MessageType = MessageModel.MESSAGE_TYPE.INFORMATION; return(Json(res)); } } } } //End Add } catch (Exception ex) { res.AddErrorMessage(ex); } return(Json(res)); }