/// <summary> /// Check duplicate customer (customer name LOCAL) /// </summary> /// <param name="customer"></param> /// <returns></returns> public bool CheckDuplicateCustomer_CustNameLC(doCustomer customer) { try { doCustomer cust = CommonUtil.CloneObject <doCustomer, doCustomer>(customer); if (cust != null) { //32 AND 46 = space !"#$%&'()*+,-. //58 AND 64 = :;<=>?@ //91 AND 96 = [\]^_` //123 AND 125 = {|} if (CommonUtil.IsNullOrEmpty(cust.CustNameLC) == false) { cust.CustNameLC = Regex.Replace(cust.CustNameLC, "[ !\"#$%&'()*+,-.:;<=>?@[\\]^_`{|}]", ""); } List <int?> lst = base.CheckDuplicateCustomer_CustNameLC( CustomerStatus.C_CUST_STATUS_EXIST, cust.CustCode, cust.CustNameLC); if (lst.Count > 0 && (lst[0] == 1)) { return(true); } } return(false); } catch (Exception ex) { throw ex; } }
/// <summary> /// Check duplicate customer /// </summary> /// <param name="customer"></param> /// <returns></returns> public bool CheckDuplicateCustomer(doCustomer customer) { try { doCustomer cust = CommonUtil.CloneObject <doCustomer, doCustomer>(customer); if (cust != null) { if (CommonUtil.IsNullOrEmpty(cust.CustCode) == false || CommonUtil.IsNullOrEmpty(cust.CustNameLC) == false) { for (int i = 32; i <= 125; i++) { string key = null; if ((i >= 32 && i <= 46) || (i >= 58 && i <= 64) || (i >= 91 && i <= 96) || (i >= 123 && i <= 125)) { key = Char.ConvertFromUtf32(i); } if (CommonUtil.IsNullOrEmpty(key) == false) { if (CommonUtil.IsNullOrEmpty(cust.CustCode) == false) { cust.CustCode = cust.CustCode.Replace(key, ""); } if (CommonUtil.IsNullOrEmpty(cust.CustNameLC) == false) { cust.CustNameLC = cust.CustNameLC.Replace(key, ""); } } } } List <int?> lst = base.CheckDuplicateCustomer(CustomerStatus.C_CUST_STATUS_EXIST, cust.CustCode, cust.IDNo, cust.CustNameLC); if (lst.Count > 0) { if (lst[0] == 1) { throw ApplicationErrorException.ThrowErrorException(MessageUtil.MODULE_MASTER, MessageUtil.MessageList.MSG1003); } else if (lst[0] == 2) { throw ApplicationErrorException.ThrowErrorException(MessageUtil.MODULE_MASTER, MessageUtil.MessageList.MSG1004); } } } return(false); } catch (Exception) { throw; } }
public void CreateAddressFull(doCustomer cust) { try { if (cust == null) { return; } ICommonHandler chandler = ServiceContainer.GetService <ICommonHandler>() as ICommonHandler; doCustomerAddress custAddress = new doCustomerAddress(); MiscTypeMappingList miscLst = new MiscTypeMappingList(); miscLst.AddMiscType(custAddress); chandler.MiscTypeMappingList(miscLst); #region EN string[] addrEN = new string[] { cust.AddressEN, CommonUtil.TextWithPrefixSuffix(cust.AlleyEN, custAddress.AlleyPrefixEN, custAddress.AlleySuffixEN), CommonUtil.TextWithPrefixSuffix(cust.RoadEN, custAddress.RoadPrefixEN, custAddress.RoadSuffixEN), CommonUtil.TextWithPrefixSuffix(cust.SubDistrictEN, custAddress.SubDistrictPrefixEN, custAddress.SubDistrictSuffixEN), CommonUtil.TextWithPrefixSuffix(cust.DistrictNameEN, custAddress.DistrictPrefixEN, custAddress.DistrictSuffixEN), CommonUtil.TextWithPrefixSuffix(cust.ProvinceNameEN, custAddress.ProvincePrefixEN, custAddress.ProvinceSuffixEN), cust.ZipCode }; cust.AddressFullEN = CommonUtil.TextList(addrEN, " "); #endregion #region LC string[] addrLC = new string[] { cust.AddressLC, CommonUtil.TextWithPrefixSuffix(cust.AlleyLC, custAddress.AlleyPrefixLC, custAddress.AlleySuffixLC), CommonUtil.TextWithPrefixSuffix(cust.RoadLC, custAddress.RoadPrefixLC, custAddress.RoadSuffixLC), CommonUtil.TextWithPrefixSuffix(cust.SubDistrictLC, custAddress.SubDistrictPrefixLC, custAddress.SubDistrictSuffixLC), CommonUtil.TextWithPrefixSuffix(cust.DistrictNameLC, custAddress.DistrictPrefixLC, custAddress.DistrictSuffixLC), CommonUtil.TextWithPrefixSuffix(cust.ProvinceNameLC, custAddress.ProvincePrefixLC, custAddress.ProvinceSuffixLC), cust.ZipCode }; cust.AddressFullLC = CommonUtil.TextList(addrLC, " "); #endregion } catch (Exception) { throw; } }
/// <summary> /// Check duplicate customer (ID No) /// </summary> /// <param name="customer"></param> /// <returns></returns> public bool CheckDuplicateCustomer_IDNo(doCustomer customer) { try { doCustomer cust = CommonUtil.CloneObject <doCustomer, doCustomer>(customer); List <int?> lst = base.CheckDuplicateCustomer_IDNo( CustomerStatus.C_CUST_STATUS_EXIST, cust.CustCode, cust.IDNo); if (lst.Count > 0 && (lst[0] == 1)) { return(true); } return(false); } catch (Exception ex) { throw ex; } }
/// <summary> /// Validate customer data /// </summary> /// <param name="cust"></param> /// <param name="isFullValidate"></param> public void ValidateCustomerData(doCustomer cust, bool isFullValidate = false) { IMasterHandler mhandler = ServiceContainer.GetService <IMasterHandler>() as IMasterHandler; ICommonHandler chandler = ServiceContainer.GetService <ICommonHandler>() as ICommonHandler; doCompanyType cType = null; cust.ValidateCustomerData = true; try { #region Set Misc Data MiscTypeMappingList miscList = new MiscTypeMappingList(); miscList.AddMiscType(cust); chandler.MiscTypeMappingList(miscList); #endregion #region Company Type List <doCompanyType> clst = mhandler.GetCompanyType(cust.CompanyTypeCode); if (clst.Count > 0) { cType = clst[0]; cust.CompanyTypeName = clst[0].CompanyTypeName; } #endregion #region Nationality Data if (CommonUtil.IsNullOrEmpty(cust.RegionCode) == false) { List <tbm_Region> nlst = mhandler.GetTbm_Region(); if (nlst.Count > 0) { foreach (tbm_Region r in nlst) { if (cust.RegionCode == r.RegionCode) { cust.Nationality = r.Nationality; break; } } } } #endregion #region BusinessType Data if (CommonUtil.IsNullOrEmpty(cust.BusinessTypeCode) == false) { List <tbm_BusinessType> blst = mhandler.GetTbm_BusinessType(); if (blst.Count > 0) { foreach (tbm_BusinessType b in blst) { if (cust.BusinessTypeCode == b.BusinessTypeCode) { cust.BusinessTypeName = b.BusinessTypeName; break; } } } } #endregion #region Province Data if (CommonUtil.IsNullOrEmpty(cust.ProvinceCode) == false) { List <tbm_Province> plst = mhandler.GetTbm_Province(); if (plst.Count > 0) { foreach (tbm_Province pv in plst) { if (cust.ProvinceCode == pv.ProvinceCode) { cust.ProvinceNameEN = pv.ProvinceNameEN; cust.ProvinceNameLC = pv.ProvinceNameLC; break; } } } } #endregion #region District if (CommonUtil.IsNullOrEmpty(cust.DistrictCode) == false) { List <tbm_District> dlst = mhandler.GetTbm_District(cust.ProvinceCode); if (dlst.Count > 0) { foreach (tbm_District d in dlst) { if (cust.ProvinceCode == d.ProvinceCode && cust.DistrictCode == d.DistrictCode) { cust.DistrictNameEN = d.DistrictNameEN; cust.DistrictNameLC = d.DistrictNameLC; break; } } } } #endregion if (CommonUtil.IsNullOrEmpty(cust.CustTypeName) || cust.CustTypeCode != CustomerType.C_CUST_TYPE_JURISTIC) { cust.CompanyTypeName = null; } if (CommonUtil.IsNullOrEmpty(cust.CompanyTypeName) || cust.CompanyTypeCode != CompanyType.C_COMPANY_TYPE_PUBLIC_CO_LTD) { cust.FinancialMaketTypeName = null; } if (CommonUtil.IsNullOrEmpty(cust.CustCode)) { if (isFullValidate) { ApplicationErrorException.CheckMandatoryField <doCustomer, ValidateCustomer_Full>(cust); } else if (CommonUtil.IsNullOrEmpty(cust.CustCode) == true) { ApplicationErrorException.CheckMandatoryField <doCustomer, ValidateCustomer_CodeNull>(cust); } else { ApplicationErrorException.CheckMandatoryField <doCustomer, ValidateCustomer>(cust); } } } catch { cust.ValidateCustomerData = false; } try { if (cType == null) { cType = new doCompanyType(); } cust.CustFullNameEN = CommonUtil.TextList(new string[] { cType.CustNamePrefixEN, cust.CustNameEN, cType.CustNameSuffixEN }, " "); cust.CustFullNameLC = CommonUtil.TextList(new string[] { cType.CustNamePrefixLC, cust.CustNameLC, cType.CustNameSuffixLC }, " "); mhandler.CreateAddressFull(cust); } catch (Exception) { throw; } }
/// <summary> /// Update customer /// </summary> /// <param name="customer"></param> /// <returns></returns> public List <tbm_Customer> UpdateCustomer(doCustomer customer) { try { //Check whether this record is the most updated data List <tbm_Customer> sList = this.GetTbm_Customer(customer.CustCode); if (sList == null || sList.Count == 0 || sList[0] == null || sList[0].UpdateDate == null || customer.UpdateDate == null || !customer.UpdateDate.HasValue) { throw ApplicationErrorException.ThrowErrorException(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0007, new string[] { "UpdateDate" }); } if (DateTime.Compare(sList[0].UpdateDate.Value, customer.UpdateDate.Value) != 0) { throw ApplicationErrorException.ThrowErrorException(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0019); } dsTransDataModel dsTrans = CommonUtil.dsTransData; //customer.UpdateDate = dsTrans.dtOperationData.ProcessDateTime; //customer.UpdateBy = dsTrans.dtUserData.EmpNo; List <tbm_Customer> lst = this.UpdateCustomer(customer.CustCode, customer.CustStatus, customer.ImportantFlag, customer.CustNameEN, customer.CustNameLC, customer.CustFullNameEN, customer.CustFullNameLC, customer.RepPersonName, customer.ContactPersonName, customer.SECOMContactPerson, customer.CustTypeCode, customer.CompanyTypeCode, customer.FinancialMarketTypeCode, customer.BusinessTypeCode, customer.PhoneNo, customer.FaxNo, customer.IDNo, customer.DummyIDFlag, customer.RegionCode, customer.URL, customer.Memo, customer.AlleyEN, customer.AddressEN, customer.RoadEN, customer.SubDistrictEN, customer.AddressFullEN, customer.AddressLC, customer.AlleyLC, customer.RoadLC, customer.SubDistrictLC, customer.AddressFullLC, customer.DistrictCode, customer.ProvinceCode, customer.ZipCode, customer.DeleteFlag, dsTrans.dtOperationData.ProcessDateTime, dsTrans.dtUserData.EmpNo); //Insert Log if (lst.Count > 0) { doTransactionLog logData = new doTransactionLog(); logData.TransactionType = doTransactionLog.eTransactionType.Update; logData.TableName = TableName.C_TBL_NAME_CUSTOMER; logData.TableData = CommonUtil.ConvertToXml(lst); ILogHandler hand = ServiceContainer.GetService <ILogHandler>() as ILogHandler; hand.WriteTransactionLog(logData); } return(lst); } catch (Exception) { throw; } }
/// <summary> /// Insert customer /// </summary> /// <param name="customer"></param> /// <returns></returns> public List <tbm_Customer> InsertCustomer(doCustomer customer) { try { dsTransDataModel dsTrans = CommonUtil.dsTransData; customer.CustStatus = CustomerStatus.C_CUST_STATUS_NEW; customer.ImportantFlag = false; customer.DummyIDFlag = customer.DummyIDFlag == null ? false : customer.DummyIDFlag; customer.DeleteFlag = false; customer.CreateDate = dsTrans.dtOperationData.ProcessDateTime; customer.CreateBy = dsTrans.dtUserData.EmpNo; customer.UpdateDate = dsTrans.dtOperationData.ProcessDateTime; customer.UpdateBy = dsTrans.dtUserData.EmpNo; List <tbm_Customer> lst = this.InsertCustomer(customer.CustCode, customer.CustStatus, customer.ImportantFlag, customer.CustNameEN, customer.CustNameLC, customer.CustFullNameEN, customer.CustFullNameLC, customer.RepPersonName, customer.ContactPersonName, customer.SECOMContactPerson, customer.CustTypeCode, customer.CompanyTypeCode, customer.FinancialMarketTypeCode, customer.BusinessTypeCode, customer.PhoneNo, customer.FaxNo, customer.IDNo, customer.DummyIDFlag, customer.RegionCode, customer.URL, customer.Memo, customer.AlleyEN, customer.AddressEN, customer.RoadEN, customer.SubDistrictEN, customer.AddressFullEN, customer.AddressLC, customer.AlleyLC, customer.RoadLC, customer.SubDistrictLC, customer.AddressFullLC, customer.DistrictCode, customer.ProvinceCode, customer.ZipCode, customer.DeleteFlag, customer.CreateDate, customer.CreateBy, customer.UpdateDate, customer.UpdateBy); //Insert Log if (lst.Count > 0) { doTransactionLog logData = new doTransactionLog(); logData.TransactionType = doTransactionLog.eTransactionType.Insert; logData.TableName = TableName.C_TBL_NAME_CUSTOMER; logData.TableData = CommonUtil.ConvertToXml(lst); ILogHandler hand = ServiceContainer.GetService <ILogHandler>() as ILogHandler; hand.WriteTransactionLog(logData); } return(lst); } catch (Exception) { throw; } }
public void ValidateSiteData(doSite doSite) { if (doSite == null) { return; } doSite.ValidateSiteData = true; try { IMasterHandler mhandler = ServiceContainer.GetService <IMasterHandler>() as IMasterHandler; ICommonHandler chandler = ServiceContainer.GetService <ICommonHandler>() as ICommonHandler; #region Building Usage if (CommonUtil.IsNullOrEmpty(doSite.BuildingUsageCode) == false) { List <tbm_BuildingUsage> blst = mhandler.GetTbm_BiuldingUsage(); if (blst.Count > 0) { foreach (tbm_BuildingUsage b in blst) { if (doSite.BuildingUsageCode == b.BuildingUsageCode) { doSite.BuildingUsageName = b.BuildingUsageName; doSite.BuildingUsageNameEN = b.BuildingUsageNameEN; doSite.BuildingUsageNameLC = b.BuildingUsageNameLC; doSite.BuildingUsageNameJP = b.BuildingUsageNameJP; break; } } } } #endregion #region Province Data if (CommonUtil.IsNullOrEmpty(doSite.ProvinceCode) == false) { List <tbm_Province> plst = mhandler.GetTbm_Province(); if (plst.Count > 0) { foreach (tbm_Province pv in plst) { if (doSite.ProvinceCode == pv.ProvinceCode) { doSite.ProvinceNameEN = pv.ProvinceNameEN; doSite.ProvinceNameLC = pv.ProvinceNameLC; break; } } } } #endregion #region District if (CommonUtil.IsNullOrEmpty(doSite.DistrictCode) == false) { List <tbm_District> dlst = mhandler.GetTbm_District(doSite.ProvinceCode); if (dlst.Count > 0) { foreach (tbm_District d in dlst) { if (doSite.ProvinceCode == d.ProvinceCode && doSite.DistrictCode == d.DistrictCode) { doSite.DistrictNameEN = d.DistrictNameEN; doSite.DistrictNameLC = d.DistrictNameLC; break; } } } } #endregion ApplicationErrorException.CheckMandatoryField <doSite, ValidateSite>(doSite); } catch { doSite.ValidateSiteData = false; } try { doCustomer cust = CommonUtil.CloneObject <doSite, doCustomer>(doSite); IMasterHandler mhandler = ServiceContainer.GetService <IMasterHandler>() as IMasterHandler; mhandler.CreateAddressFull(cust); doSite.AddressFullEN = cust.AddressFullEN; doSite.AddressFullLC = cust.AddressFullLC; } catch (Exception) { throw; } }