Beispiel #1
0
        private async Task StoreCustomerSuitability(CustomerOnboard customer, StoreNewUnityFormProperties onbaseStore)
        {
            Suitability suitability = await this._customerRepository
                                      .GetCustomerSuitability(customer.Id.ToString());

            if (suitability != null)
            {
                onbaseStore.AddField("grupodebotãodeopçãoQualSeuObjetivoaoInvestir", suitability.GetSutiabilityAlternativeByQuestionId(3)?.Alternative);
                onbaseStore.AddField("grupodebotãodeopçãoPorQuantoTempoPretendeInvestir", suitability.GetSutiabilityAlternativeByQuestionId(1)?.Alternative);
                onbaseStore.AddField("grupodebotãodeopçãoConhecimentoSobreInvestimentos", suitability.GetSutiabilityAlternativeByQuestionId(8)?.Alternative);
                onbaseStore.AddField("grupodebotãodeopçãoOqueFariaSeTivessePerdaDe10", suitability.GetSutiabilityAlternativeByQuestionId(2)?.Alternative);
                onbaseStore.AddField("grupodebotãodeopçãoQuantasVezesMovimentaInvestimentos", suitability.GetSutiabilityAlternativeByQuestionId(7)?.Alternative);
                onbaseStore.AddField("grupodebotãodeopçãoQualOvalorTotaldeInvestimentos", suitability.GetSutiabilityAlternativeByQuestionId(5)?.Alternative);
                onbaseStore.AddField("grupodebotãodeopçãoRendaMensal", suitability.GetSutiabilityAlternativeByQuestionId(4)?.Alternative);

                if (suitability.HasForManySutiabilityAlternative(6, 17))
                {
                    onbaseStore.AddField("caixadeseleçãoAcoesFundosCreditoPrivado", suitability.HasForManySutiabilityAlternative(6, 17).ToString());
                }

                if (suitability.HasForManySutiabilityAlternative(6, 16))
                {
                    onbaseStore.AddField("caixadeseleçãoRendaFixaTesouroCDBPoupanca", suitability.HasForManySutiabilityAlternative(6, 16).ToString());
                }

                if (suitability.HasForManySutiabilityAlternative(6, 18))
                {
                    onbaseStore.AddField("caixadeseleçãoDerivativos", suitability.HasForManySutiabilityAlternative(6, 18).ToString());
                }
            }
        }
Beispiel #2
0
        private void IntegrateCustomer(CustomerTransactional customer)
        {
            FormTemplate formTemplate = this.FindFormTemplate(_onbaseSettings.FormIntegrationID);
            StoreNewUnityFormProperties onbaseStore = this.InitNewForm(formTemplate);

            MapCustomerFieldsToOnbase(customer, onbaseStore, formTemplate);
            this.StoreNewUnityForm(onbaseStore);
        }
Beispiel #3
0
        static bool processFile(ProgArgs args)
        {
            bool success = false; // initiate succss variable

            try
            {
                string line;
                //                StreamReader InFile = new StreamReader(args.TargetDirectory + args.InputFile);
                StreamReader InFile = new StreamReader(args.InputFile);

                //                using (StreamWriter OutFile = new StreamWriter(args.TargetDirectory + args.OutputFile, false))
                using (StreamWriter OutFile = new StreamWriter(args.OutputFile, false))
                {
                    using (Application obApp = OnBaseConnect())
                    {
                        // Get the Unity Form Template (by name or id).
                        FormTemplate nameChangeTemplate = obApp.Core.UnityFormTemplates.Find(@"Member Name Add/Modify");

                        if (nameChangeTemplate != null)
                        {
                            Log.Logger.Debug("FormTemplate Found: {FormTemplateName}", nameChangeTemplate.Name);

                            while ((line = InFile.ReadLine()) != null)
                            {
                                Member member = new Member(line);

                                // Create the Unity Form properties for the template
                                StoreNewUnityFormProperties uFormProps = obApp.Core.Storage.CreateStoreNewUnityFormProperties(nameChangeTemplate);

                                // Add form keywords
                                uFormProps.AddKeyword("Member No.", Convert.ToInt32(member.MemberNo));
                                uFormProps.AddKeyword(@"Last Name (or Business/Trust Name)", member.LastName);
                                uFormProps.AddKeyword("First Name", member.FirstName);

                                // Create the new Unity Form
                                Document newUnityForm = obApp.Core.Storage.StoreNewUnityForm(uFormProps);
                                Log.Logger.Debug(string.Format("Form Created: docid={0}.", newUnityForm.ID));

                                OutFile.WriteLine(line);
                            }
                            success = true;
                        }
                        else
                        {
                            Log.Logger.Error("Unity Form Template Not found!");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Log.Logger.Error("Processing file failed! {ExceptionMessage}", ex.Message);
            }

            return(success);
        }
Beispiel #4
0
        private async Task IntegrateCustomer(CustomerOnboard customer)
        {
            FormTemplate formTemplate = this.FindFormTemplate(_onbaseSettings.FormIntegrationID);
            StoreNewUnityFormProperties onbaseStore = this.InitNewForm(formTemplate);

            this.StoreCustomer(customer, onbaseStore, formTemplate);
            await this.StoreCustomerSuitability(customer, onbaseStore);

            this.StoreNewUnityForm(onbaseStore);
        }
        private Document IntegrateCustomer(CustomerReRegistration customer)
        {
            FormTemplate formTemplate = this.FindFormTemplate(_onbaseSettings.FormIntegrationID);
            StoreNewUnityFormProperties onbaseStore = this.InitNewForm(formTemplate);

            MapCustomerFieldsToOnbase(customer, onbaseStore, formTemplate);
            var output = this.StoreNewUnityForm(onbaseStore);

            return(output);
        }
Beispiel #6
0
        /// <summary>
        /// Create a new Unity Form Store Properties
        /// </summary>
        /// <param name="formTemplate"></param>
        /// <returns></returns>
        private StoreNewUnityFormProperties CreateNewStoreUnityForm(FormTemplate formTemplate)
        {
            StoreNewUnityFormProperties properties = this.unityApplication.Core.Storage.CreateStoreNewUnityFormProperties(formTemplate);

            if (properties == null)
            {
                throw new ApplicationException("Could't create a new Onbase Store Form Properties.");
            }

            return(properties);
        }
Beispiel #7
0
        private void MapCustomerFieldsToOnbase(CustomerTransactional customer, StoreNewUnityFormProperties onbaseStore, FormTemplate formTemplate)
        {
            var customerForm = new CustomerTransactionalForm(onbaseStore, formTemplate);

            customerForm.ApplyBasicData(customer);
            customerForm.ApplyAddress(customer.Addresses);
            customerForm.ApplyAccounts(customer.Accounts);
            customerForm.ApplyWork(customer.Work);
            customerForm.ApplyDocument(customer.Document);
            customerForm.SuitabilityData(customer.Suitability);
        }
Beispiel #8
0
        private void MapCustomerFieldsToOnbase(Customer customer, StoreNewUnityFormProperties onbaseStore)
        {
            onbaseStore.AddKeyword("Código do Cliente", customer.Id);
            onbaseStore.AddKeyword("Nome do Cliente", customer.Name);
            onbaseStore.AddKeyword("CPF", customer.Document);
            onbaseStore.AddKeyword("Nome da Mãe", customer.Mother);
            onbaseStore.AddKeyword("E-Mail", customer.Email);

            //onbaseStore.AddField("COD_CLIENTE", customer.Id);
            //onbaseStore.AddField("NOME_CLIENTE", customer.Name);
            //onbaseStore.AddField("NOME_MAE_CLIENTE", customer.Mother);
            //onbaseStore.AddField("EMAIL", customer.Email);
        }
Beispiel #9
0
        private void IntegrateCustomer()
        {
            FormTemplate formTemplate = this.FindFormTemplate(_onbaseSettings.FormIntegrationID);
            StoreNewUnityFormProperties onbaseStore = this.InitNewForm(formTemplate);

            MapCustomerFieldsToOnbase(_customer, onbaseStore);

            var onbaseDocument = this.StoreNewUnityForm(onbaseStore);

            if (onbaseDocument != null)
            {
                this.UploadUnityFormImage(_customer.Photo, "CPF", _customer.Document);
            }
        }
        private void MapCustomerFieldsToOnbase(CustomerReRegistration customer, StoreNewUnityFormProperties onbaseStore, FormTemplate formTemplate)
        {
            var customerForm = new CustomerReRegistrationForm(onbaseStore, formTemplate);

            customerForm.ApplyBasicData(customer);
            customerForm.ApplyAddress(customer.Addresses);
            customerForm.ApplyAccounts(customer.Accounts);
            customerForm.ApplyWork(customer.Work);
            customerForm.ApplyDeclarations(customer.Declarations);
            customerForm.ApplyInvestiments(customer.Investments);
            customerForm.ApplyFatca(customer.Fatca);
            customerForm.ApplyDocument(customer.Document);


            if (!string.IsNullOrEmpty(customer.IdClient))
            {
                Suitability suitability = this._customerRepository
                                          .GetCustomerSuitability(customer.IdClient)
                                          .GetAwaiter()
                                          .GetResult();

                customerForm.SuitabilityData(suitability);
            }
        }
Beispiel #11
0
 public CustomerTransactionalForm(StoreNewUnityFormProperties onbaseStore, FormTemplate formTemplate)
 {
     OnbaseStore = onbaseStore ?? throw new ArgumentNullException(nameof(onbaseStore));
     FormTemplate = formTemplate ?? throw new ArgumentNullException(nameof(formTemplate));
 }
Beispiel #12
0
        private void StoreCustomer(CustomerOnboard customer, StoreNewUnityFormProperties onbaseStore, FormTemplate formTemplate)
        {
            onbaseStore.AddKeyword("CPF", customer.Cpf);
            onbaseStore.AddKeyword("Nome", customer.Name);
            onbaseStore.AddKeyword("E-mail", customer.Email);
            onbaseStore.AddKeyword("Celular", customer.User.PhoneNumber.ToString());
            onbaseStore.AddKeyword("Tipo de Cadastro", "Cadastro");


            if (customer.BirthDate.HasValue)
            {
                onbaseStore.AddKeyword("Data de Nascimento", customer.BirthDate.Value);
            }

            onbaseStore.AddKeyword("Nacionalidade", customer.Nationality.ToString());
            onbaseStore.AddKeyword("Estado onde nasceu", customer.BirthState);
            onbaseStore.AddKeyword("Cidade onde nasceu", customer.BirthCity);
            onbaseStore.AddKeyword("Estado Civil", customer.CivilStatus.ToString());
            onbaseStore.AddKeyword("Nome do Conjuge", customer.SpouseName);
            onbaseStore.AddKeyword("CPF do Conjuge", customer.SpouseCpf);
            onbaseStore.AddKeyword("Nome da Mãe", customer.MotherName);

            if (customer.Document != null)
            {
                onbaseStore.AddKeyword("Tipo de documento de ID", customer.Document.DocumentType);
                onbaseStore.AddKeyword("Numero do Documento", customer.Document.DocumentNumber);


                if (customer.Document.EmissionDate.HasValue)
                {
                    onbaseStore.AddKeyword("Data de Emissão", customer.Document.EmissionDate.Value);
                }

                onbaseStore.AddKeyword("Órgão emissor", customer.Document.IssuingBody);
            }

            if (customer.ClientStatus != null)
            {
                onbaseStore.AddKeyword("Status", customer.ClientStatus.Description);
                onbaseStore.AddKeyword("Status OnBoarding Cadastro", customer.ClientStatus.Code);
            }


            if (customer.Addresses.Length > 0)
            {
                var address = customer.Addresses[0];

                onbaseStore.AddField("caixadetextoCEP", address.ZipCode);
                onbaseStore.AddField("caixadetextoLogradouro", address.Address);
                onbaseStore.AddField("caixadetextoNumero", address.Number);
                onbaseStore.AddField("caixadetextoBairro", address.Neighborhood);
                onbaseStore.AddField("caixadetextoComplemento", address.Complement);
                onbaseStore.AddField("caixadetextoEstado", address.State);
                onbaseStore.AddField("caixadetextoCidade", address.City);
            }


            if (customer.Accounts.Length > 0)
            {
                var account = customer.Accounts[0];

                onbaseStore.AddField("selecionarlistaBanco", account.BankName);
                onbaseStore.AddField("caixadetextoAgencia", account.Agency);
                onbaseStore.AddField("caixadetextoNumerodaConta", account.Account);
                onbaseStore.AddField("caixadetextoDigito", account.AccountDigit);
                onbaseStore.AddField("caixadetextoTipodeConta", account.AccountType);
                onbaseStore.AddField("grupodebotãodeopçãoContaConjunta", account.JointAccount.ToString());

                if (customer.Accounts.Length > 1)
                {
                    RepeaterDefinition contactRepeaterDefinition = formTemplate.AllFieldDefinitions.RepeaterDefinitions.Find("seçãoderepetiçãoDadosBancarios");

                    for (int i = 1; i < customer.Accounts.Length; i++)
                    {
                        var accountItem = customer.Accounts[i];

                        EditableRepeaterItem repeater = contactRepeaterDefinition.CreateEditableRepeaterItem();
                        repeater.SetFieldValue("caixadetextoMultiAgencia", accountItem.Agency);
                        repeater.SetFieldValue("caixadetextoMultiNumerodaConta", accountItem.Account);
                        repeater.SetFieldValue("caixadetextoMultiDigito", accountItem.AccountDigit);
                        repeater.SetFieldValue("caixadetextoMultiBanco", accountItem.BankName);
                        repeater.SetFieldValue("caixadetextoMultiTipodeConta", accountItem.AccountType);
                        onbaseStore.AddRepeaterItem(repeater);
                    }
                }
            }

            if (customer.Work != null)
            {
                onbaseStore.AddField("grupodebotãodeopçãoEstaTrabalhando", customer.Work.HasJob);
                onbaseStore.AddField("caixadetextoNomedaEmpresa", customer.Work.CompanyName);
                onbaseStore.AddField("caixadetextoCNPJ", customer.Work.Cnpj);
                onbaseStore.AddField("caixadetextoEnderecoComercial", customer.Work.CompanyAddress);
                onbaseStore.AddField("caixadetextoOcupacao", customer.Work.Occupation);
            }
            if (customer.SuitabilityClientProfile != null)
            {
                onbaseStore.AddField("caixadetextoScore", customer.SuitabilityClientProfile.SuitabilityProfile.Score.ToString());
                onbaseStore.AddField("caixadetextoProfile", customer.SuitabilityClientProfile.SuitabilityProfile.Profile);
                onbaseStore.AddField("caixadetextoID", customer.SuitabilityClientProfile.Id.ToString());
                onbaseStore.AddField("caixadetextoIDProfile", customer.SuitabilityClientProfile.SuitabilityProfile.IdProfile.ToString());
                onbaseStore.AddField("caixadetextoPontuacaoTotal", customer.SuitabilityClientProfile.TotalScore.ToString());
                onbaseStore.AddField("caixadetextodemultilinhasDescricao", customer.SuitabilityClientProfile.SuitabilityProfile.Description);
                onbaseStore.AddField("caixadetextoDataCriacao", customer.SuitabilityClientProfile.Created.ToString());
                onbaseStore.AddField("caixadetextoDatadeExpiracao", customer.SuitabilityClientProfile.SuitabilityProfile.DtExpiration.ToString());
            }
            if (customer.declarations != null)
            {
                onbaseStore.AddField("grupodebotãodeopçãoHasAssessordeInvestimentos", customer.declarations.HasAdvisor);
                onbaseStore.AddField("grupodebotãodeopçãoPessoaExposta", customer.declarations.PoliticalPerson);
                onbaseStore.AddField("grupodebotãodeopçãoVoceTrabalhaNaSimpaul", customer.declarations.IsPersonLinkedSimpaul);
                onbaseStore.AddField("grupodebotãodeopçãoAutorizaumProcurador", customer.declarations.AllowAttorney);
                onbaseStore.AddField("caixadeseleçãoLieAceito", customer.declarations.AcceptTerms);
                onbaseStore.AddField("caixadetextoNomedoProcurador", customer.declarations.attorneyName);
                onbaseStore.AddField("cdes", customer.declarations.attorneyCpf);
            }
            if (customer.investments != null)
            {
                if (customer.investments.TotalAssets != null)
                {
                    onbaseStore.AddField("caixadetextoTotaldoPatrimonio", customer.investments.TotalAssets);
                }
                else
                {
                    onbaseStore.AddField("caixadetextoTotaldoPatrimonio", "0");
                }
                onbaseStore.AddField("caixadetextoRendaMensal", customer.investments.MonthlyIncome);
                if (customer.investments.ResourcesOrigin != null)
                {
                    onbaseStore.AddField("caixadetextoOrigemdosRecursos", customer.investments.ResourcesOrigin.description);
                }
                onbaseStore.AddField("caixadetextoTotalemAplicacoesFinanceiras", customer.investments.FinancialInvestments);
            }
            if (customer.Fatca != null)
            {
                onbaseStore.AddField("grupodebotãodeopçãoDeclaraaoGovernoEUA", customer.Fatca.UsPerson);
            }
        }
Beispiel #13
0
 /// <summary>
 /// Store a form to Unity application
 /// </summary>
 /// <param name="storeNew"></param>
 /// <returns></returns>
 protected Document StoreNewUnityForm(StoreNewUnityFormProperties storeNew)
 {
     return(this.unityApplication.Core.Storage.StoreNewUnityForm(storeNew));
 }