示例#1
0
        public async Task <ResponsePessoaJuridicaAddModel> Add(PessoaJuridicaAddModel model)
        {
            // TODO: Validation: (CPF e Id não podem ser repetidos)

            try
            {
                _pessoaService.ConfigurePessoaToAdd(model.Pessoa);

                var pessoaJuridicaEntity = _mapper.Map <PessoaJuridicaEntity>(model);

                var pessoaJuridicaEntityDbResult = await _pessoaJuridicaRepository.Insert(pessoaJuridicaEntity);

                var pessoaJuridicaEntityDb = (PessoaJuridicaEntity)pessoaJuridicaEntityDbResult.Entity;

                _uow.SaveChanges();

                return(new ResponsePessoaJuridicaAddModel {
                    PessoaJuridica = _mapper.Map <PessoaJuridicaModel>(pessoaJuridicaEntityDb), Message = "Pessoa Jurídica Registrada com Sucesso", Success = true
                });
            }
            catch (Exception ex)
            {
                return(new ResponsePessoaJuridicaAddModel {
                    PessoaJuridica = null, Message = ex.Message, Success = false
                });
            }
        }