Пример #1
0
        public void CadastrarPessoaJuridica(string codigoConvite, string numeroCelular, string cnpj, string razaoSocial, string nomeFantasia,
                                            string inscricaoMunicipal, string inscricaoEstadual, string codigoBanco, string agencia, string contaSemDigito,
                                            string digito, int tipoConta, string contratoSocialBase64, string ultimaAlteracaoBase64)
        {
            var cadastrarPessoaJuridicaCommand = new CadastrarPessoaJuridicaCommand(codigoConvite, numeroCelular, cnpj, razaoSocial, nomeFantasia,
                                                                                    inscricaoMunicipal, inscricaoEstadual, codigoBanco, agencia, contaSemDigito,
                                                                                    digito, tipoConta, contratoSocialBase64, ultimaAlteracaoBase64);

            _bus.SendCommand(cadastrarPessoaJuridicaCommand);
        }
Пример #2
0
        public Task <bool> Handle(CadastrarPessoaJuridicaCommand message, CancellationToken cancellationToken)
        {
            if (!message.IsValid())
            {
                NotifyValidationErrors(message);
                return(Task.FromResult(false));
            }

            var onboarding = _onboardingRepository.Find(o => o.CodigoConvite.Equals(message.CodigoConvite) && o.NumeroCelular.Equals(message.NumeroCelular)).FirstOrDefault();

            if (onboarding == null)
            {
                _bus.RaiseEvent(new DomainNotification(message.MessageType, "Código do convite ou número de celular inválidos.", message));
                return(Task.FromResult(false));
            }

            if (onboarding.Consultor != null)
            {
                _bus.RaiseEvent(new DomainNotification(message.MessageType, "O consultor já possui cadastro no sistema.", message));
                return(Task.FromResult(false));
            }

            var consultor = new Consultor(Guid.NewGuid(), message.Cnpj, message.RazaoSocial, message.NomeFantasia, message.InscricaoMunicipal,
                                          message.InscricaoEstadual, message.ContratoSocialBase64, message.UltimaAlteracaoBase64, onboarding.Id);

            _consultorRepository.Add(consultor);

            var dadosBancarios = new DadosBancarios(Guid.NewGuid(), message.CodigoBanco, message.Agencia, message.ContaSemDigito, message.Digito,
                                                    message.TipoConta.ToString(), consultor.Id);

            _dadosBancariosRepository.Add(dadosBancarios);

            onboarding.StatusOnboarding = StatusOnboarding.ContratoSocial;

            _onboardingRepository.Update(onboarding);

            if (Commit())
            {
            }

            return(Task.FromResult(true));
        }