示例#1
0
        public CreateCifAndAccountResponseModel CreateCifAndAccount(CreateCifAndAccountRequestModel requestModel, DateTime processDateTime)
        {
            Logging.WriteLog(requestModel);
            CreateCifAndAccountResponseModel responseModel = new CreateCifAndAccountResponseModel();

            requestModel.ThaiName     = SetFirstnameWithMiddlename(requestModel.ThaiName, requestModel.ThaiMiddleName);
            requestModel.EngName      = SetFirstnameWithMiddlename(requestModel.EngName, requestModel.EngMiddleName);
            responseModel.ReferenceNo = requestModel.ReferenceNo;
            try
            {
                MBaseMessageModel mBaseMessageModel = CreateCifAccountMessage(requestModel, processDateTime);

                var mBaseMessage = MBaseMessageMatchObject(mBaseMessageModel);
                // MBase CIFCreate
                var mBaseResponse = MBaseSingleton.Instance.CIFCreation(mBaseMessage);

                // Output Matching Object
                PropertyMatcher <CIFAccountResponse, CreateCifAndAccountResponseModel> .GenerateMatchedObject(mBaseResponse, responseModel);
            }
            catch (Exception ex)
            {
                responseModel.ErrorCode        = ResponseCode.EXC0001;
                responseModel.ErrorDescription = ex.Message;
            }
            finally
            {
                Logging.WriteLog(responseModel);
            }
            return(responseModel);
        }
示例#2
0
        public CreateCifAndAccountResponseModel CreateCifAndAccount([FromBody] CreateCifAndAccountRequestModel model)
        {
            var processDatetime = DateTime.Now;

            return(mBaseService.CreateCifAndAccount(model, processDatetime));
        }
示例#3
0
        private MBaseMessageModel CreateCifAccountMessage(CreateCifAndAccountRequestModel requestModel, DateTime processDateTime)
        {
            // Header
            var headerTransaction = sQLService.GetHeaderTransaction(requestModel.TranCode);
            HeaderMessageModel             header         = InitializeHeader(headerTransaction, requestModel.BranchNumber, requestModel.ReferenceNo, requestModel.TerminalId, processDateTime);
            IEnumerable <MessageTypeModel> headerMessages = GetHeaderMessage(header);

            // Input
            var inputMessages = sQLService.GetInputMessages(requestModel.TranCode);

            inputMessages.ToList().ForEach(s =>
            {
                switch (s.FieldName.Trim())
                {
                case nameof(CIFAccount.TCFTTIT):
                    s.DefaultValue = requestModel.TitleThaiName;
                    break;

                case nameof(CIFAccount.TCFNA1):
                    s.DefaultValue = requestModel.ThaiName;
                    break;

                case nameof(CIFAccount.TCFNA1A):
                    s.DefaultValue = requestModel.ThaiSurename;
                    break;

                case nameof(CIFAccount.TCFETIT):
                    s.DefaultValue = requestModel.TitleEngName;
                    break;

                case nameof(CIFAccount.TCFASN1):
                    s.DefaultValue = requestModel.EngName;
                    break;

                case nameof(CIFAccount.TCFASN2):
                    s.DefaultValue = requestModel.EngSurename;
                    break;

                case nameof(CIFAccount.CFSSNO):
                    s.DefaultValue = requestModel.IDNumber;
                    break;

                case nameof(CIFAccount.CFSSCD):
                    s.DefaultValue = requestModel.IDTypeCode;
                    break;

                case nameof(CIFAccount.CFCIDT):
                    s.DefaultValue = requestModel.IDIssueCountryCode;
                    break;

                case nameof(CIFAccount.BTCTYP):
                    s.DefaultValue = requestModel.CustomerType;
                    break;

                case nameof(CIFAccount.BTMBTY):
                    s.DefaultValue = requestModel.MajorBusinessType;
                    break;

                case nameof(CIFAccount.CFBRNN):
                    s.DefaultValue = requestModel.BranchNumber;
                    break;

                case nameof(CIFAccount.CFCOST):
                    s.DefaultValue = requestModel.CostCenter;
                    break;

                case nameof(CIFAccount.CFOFFR):
                    s.DefaultValue = requestModel.OfficerCode;
                    break;

                case nameof(CIFAccount.CFBIR8):
                    s.DefaultValue = requestModel.BirthDate;
                    break;

                case nameof(CIFAccount.CFRESD):
                    s.DefaultValue = requestModel.ResidentCode;
                    break;

                case nameof(CIFAccount.CFCNTY):
                    s.DefaultValue = requestModel.Country;
                    break;

                case nameof(CIFAccount.CFCITZ):
                    s.DefaultValue = requestModel.CountryOfCitizenship;
                    break;

                case nameof(CIFAccount.CFRACE):
                    s.DefaultValue = requestModel.CountryOfHeritage;
                    break;

                case nameof(CIFAccount.CFINQC):
                    s.DefaultValue = requestModel.InquiryCode;
                    break;

                case nameof(CIFAccount.CFEMPL):
                    s.DefaultValue = requestModel.EmployerName;
                    break;

                case nameof(CIFAccount.CFHPHO):
                    s.DefaultValue = requestModel.HomePhone;
                    break;

                case nameof(CIFAccount.CFBPHO):
                    s.DefaultValue = requestModel.OfficePhone;
                    break;

                case nameof(CIFAccount.CFBFHO):
                    s.DefaultValue = requestModel.OtherPhone;
                    break;

                case nameof(CIFAccount.CFSEX):
                    s.DefaultValue = requestModel.Gender;
                    break;

                case nameof(CIFAccount.CFSMSA):
                    s.DefaultValue = requestModel.SMSACode;
                    break;

                case nameof(CIFAccount.CFBUST):
                    s.DefaultValue = requestModel.Occupation;
                    break;

                case nameof(CIFAccount.CFSCLA):
                    s.DefaultValue = requestModel.SubClass;
                    break;

                case nameof(CIFAccount.CFCRAT):
                    s.DefaultValue = requestModel.CustomerRating;
                    break;

                case nameof(CIFAccount.CFGRUP):
                    s.DefaultValue = requestModel.CIFGroupCode;
                    break;

                case nameof(CIFAccount.CFCCYC):
                    s.DefaultValue = requestModel.CIFCombinedCycle;
                    break;

                case nameof(CIFAccount.CFTINS):
                    s.DefaultValue = requestModel.TINStatus;
                    break;

                case nameof(CIFAccount.CFWHCD):
                    s.DefaultValue = requestModel.FedWHCode;
                    break;

                case nameof(CIFAccount.CFWHPR):
                    s.DefaultValue = requestModel.StateWHCode;
                    break;

                case nameof(CIFAccount.CFINSC):
                    s.DefaultValue = requestModel.InsiderCode;
                    break;

                case nameof(CIFAccount.CFVIPC):
                    s.DefaultValue = requestModel.VIPCustomer;
                    break;

                case nameof(CIFAccount.CFDEAD):
                    s.DefaultValue = requestModel.DeceasedCutomerFlag;
                    break;

                case nameof(CIFAccount.CFBADA):
                    s.DefaultValue = requestModel.InsufficientAddress;
                    break;

                case nameof(CIFAccount.CFHLDM):
                    s.DefaultValue = requestModel.HoldMailCode;
                    break;

                case nameof(CIFAccount.CFFSD6):
                    s.DefaultValue = requestModel.CustomerReviewDate;
                    break;

                case nameof(CIFAccount.CFSIC1):
                    s.DefaultValue = requestModel.SICN1UserDefined;
                    break;

                case nameof(CIFAccount.CFSIC2):
                    s.DefaultValue = requestModel.SICN2UserDefined;
                    break;

                case nameof(CIFAccount.CFSIC3):
                    s.DefaultValue = requestModel.SICN3UserDefined;
                    break;

                case nameof(CIFAccount.CFSIC4):
                    s.DefaultValue = requestModel.SICN4UserDefined;
                    break;

                case nameof(CIFAccount.CFSIC5):
                    s.DefaultValue = requestModel.SICN5UserDefined;
                    break;

                case nameof(CIFAccount.CFSIC6):
                    s.DefaultValue = requestModel.SICN6UserDefined;
                    break;

                case nameof(CIFAccount.CFSIC7):
                    s.DefaultValue = requestModel.SICN7UserDefined;
                    break;

                case nameof(CIFAccount.CFSIC8):
                    s.DefaultValue = requestModel.SICN8UserDefined;
                    break;

                case nameof(CIFAccount.CFUIC1):
                    s.DefaultValue = requestModel.UICN1UserDefined;
                    break;

                case nameof(CIFAccount.CFUIC2):
                    s.DefaultValue = requestModel.UICN2UserDefined;
                    break;

                case nameof(CIFAccount.CFUIC3):
                    s.DefaultValue = requestModel.UICN3UserDefined;
                    break;

                case nameof(CIFAccount.CFUIC4):
                    s.DefaultValue = requestModel.UICN4UserDefined;
                    break;

                case nameof(CIFAccount.CFUIC5):
                    s.DefaultValue = requestModel.UICN5UserDefined;
                    break;

                case nameof(CIFAccount.CFUIC6):
                    s.DefaultValue = requestModel.UICN6UserDefined;
                    break;

                case nameof(CIFAccount.CFUIC7):
                    s.DefaultValue = requestModel.UICN7UserDefined;
                    break;

                case nameof(CIFAccount.CFUIC8):
                    s.DefaultValue = requestModel.UICN8UserDefined;
                    break;

                case nameof(CIFAccount.CFLGID):
                    s.DefaultValue = requestModel.LanguageIdentifier;
                    break;

                case nameof(CIFAccount.CFRETN):
                    s.DefaultValue = requestModel.Retention;
                    break;

                case nameof(CIFAccount.SSCODE):
                    s.DefaultValue = requestModel.DepositTypeCode;
                    break;

                case nameof(CIFAccount.ACTYPE):
                    s.DefaultValue = requestModel.AccountType;
                    break;

                case nameof(CIFAccount.TLBSRC):
                    s.DefaultValue = requestModel.TransactionSource;
                    break;

                case nameof(CIFAccount.CRTAC):
                    s.DefaultValue = requestModel.CreateAccountFlag;
                    break;

                case nameof(CIFAccount.CFENA1):
                    s.DefaultValue = requestModel.EmployerName01;
                    break;

                case nameof(CIFAccount.CBINCC):
                    s.DefaultValue = requestModel.IncomeCapitalAmount;
                    break;

                case nameof(CIFAccount.CFZTYP):
                    s.DefaultValue = requestModel.CompanyBusinessType;
                    break;

                case nameof(CIFAccount.CFEDLV):
                    s.DefaultValue = requestModel.EducationLevel;
                    break;

                case nameof(CIFAccount.CFEADD):
                    s.DefaultValue = requestModel.ElectronicAddress;
                    break;
                }
            });

            // Response
            var responseMessages = sQLService.GetResponseMessages(requestModel.TranCode);

            return(new MBaseMessageModel
            {
                HeaderTransaction = headerTransaction,
                HeaderMessages = headerMessages,
                InputMessages = inputMessages,
                ResponseMessages = responseMessages
            });
        }