/// <summary> /// Inclui um endereço de cliente no banco de dados /// </summary> /// <param name="requisicaoDto"></param> /// <param name="retornoDto"></param> /// <returns></returns> public override bool Incluir(RequisicaoEntidadeDto <ClienteEnderecoDto> requisicaoDto, ref RetornoDto retornoDto) { // Valida a requisição if (!base.Incluir(requisicaoDto, ref retornoDto)) { return(false); } // Se houver endereço preenchido e ele não existir ainda if (requisicaoDto.EntidadeDto.Endereco.Id == Guid.Empty && !string.IsNullOrWhiteSpace(requisicaoDto.EntidadeDto.Endereco.Cep)) { CepBll cepBll = new CepBll(this.pizzaByteContexto, false); RequisicaoEntidadeDto <CepDto> requisicaoCepDto = new RequisicaoEntidadeDto <CepDto>() { IdUsuario = requisicaoDto.IdUsuario, Identificacao = requisicaoDto.Identificacao, EntidadeDto = requisicaoDto.EntidadeDto.Endereco }; requisicaoCepDto.EntidadeDto.Id = Guid.NewGuid(); // Incluir o endereço if (!cepBll.Incluir(requisicaoCepDto, ref retornoDto)) { // Logado na classe de CEP return(false); } } ClienteEnderecoVo clienteEnderecoVo = new ClienteEnderecoVo(); string mensagemErro = ""; // Converte para VO a ser incluída no banco de dados if (!ConverterDtoParaVo(requisicaoDto.EntidadeDto, ref clienteEnderecoVo, ref mensagemErro)) { retornoDto.Retorno = false; retornoDto.Mensagem = "Falha ao converter o endereço do cliente para VO: " + mensagemErro; logBll.ResgistrarLog(requisicaoDto, LogRecursos.IncluirClienteEndereco, Guid.Empty, retornoDto.Mensagem); return(false); } // Prepara a inclusão no banco de dados if (!IncluirBd(clienteEnderecoVo, ref mensagemErro)) { retornoDto.Retorno = false; retornoDto.Mensagem = "Falha ao incluir o endereço do cliente no banco de dados: " + mensagemErro; logBll.ResgistrarLog(requisicaoDto, LogRecursos.IncluirClienteEndereco, Guid.Empty, retornoDto.Mensagem); return(false); } if (salvar) { // Salva as alterações if (!pizzaByteContexto.Salvar(ref mensagemErro)) { retornoDto.Retorno = false; retornoDto.Mensagem = "Erro ao salvar o endereço do cliente: " + mensagemErro; logBll.ResgistrarLog(requisicaoDto, LogRecursos.IncluirClienteEndereco, Guid.Empty, mensagemErro); return(false); } } retornoDto.Retorno = true; retornoDto.Mensagem = "OK"; return(true); }
/// <summary> /// Edita um endereço de cliente /// </summary> /// <param name="requisicaoDto"></param> /// <param name="retornoDto"></param> /// <returns></returns> public override bool Editar(RequisicaoEntidadeDto <ClienteEnderecoDto> requisicaoDto, ref RetornoDto retornoDto) { if (!base.Editar(requisicaoDto, ref retornoDto)) { return(false); } ClienteEnderecoVo clienteEnderecoVo = new ClienteEnderecoVo(); string mensagemErro = ""; // Obtém o endereço if (!ObterPorIdBd(requisicaoDto.EntidadeDto.Id, out clienteEnderecoVo, ref mensagemErro)) { retornoDto.Mensagem = "Problemas para encontrar o endereço do cliente: " + mensagemErro; retornoDto.Retorno = false; logBll.ResgistrarLog(requisicaoDto, LogRecursos.EditarClienteEndereco, requisicaoDto.EntidadeDto.Id, retornoDto.Mensagem); return(false); } // Se houver endereço preenchido e ele não existir ainda if (requisicaoDto.EntidadeDto.Endereco.Id == Guid.Empty && !string.IsNullOrWhiteSpace(requisicaoDto.EntidadeDto.Endereco.Cep)) { requisicaoDto.EntidadeDto.Endereco.Id = Guid.NewGuid(); CepBll cepBll = new CepBll(this.pizzaByteContexto, false); RequisicaoEntidadeDto <CepDto> requisicaoCepDto = new RequisicaoEntidadeDto <CepDto>() { IdUsuario = requisicaoDto.IdUsuario, Identificacao = requisicaoDto.Identificacao, EntidadeDto = requisicaoDto.EntidadeDto.Endereco }; // Incluir o endereço if (!cepBll.Incluir(requisicaoCepDto, ref retornoDto)) { // Logado na BLL de CEP return(false); } } if (!ConverterDtoParaVo(requisicaoDto.EntidadeDto, ref clienteEnderecoVo, ref mensagemErro)) { retornoDto.Mensagem = "Problemas ao converter o endereço do cliente para Vo: " + mensagemErro; retornoDto.Retorno = false; logBll.ResgistrarLog(requisicaoDto, LogRecursos.EditarClienteEndereco, requisicaoDto.EntidadeDto.Id, retornoDto.Mensagem); return(false); } if (!EditarBd(clienteEnderecoVo, ref mensagemErro)) { retornoDto.Retorno = false; retornoDto.Mensagem = "Falha ao editar os novos dados do clienteEndereco: " + mensagemErro; logBll.ResgistrarLog(requisicaoDto, LogRecursos.EditarClienteEndereco, requisicaoDto.EntidadeDto.Id, retornoDto.Mensagem); return(false); } if (salvar) { // Salva as alterações if (!pizzaByteContexto.Salvar(ref mensagemErro)) { retornoDto.Retorno = false; retornoDto.Mensagem = "Erro ao salvar os novos dados: " + mensagemErro; logBll.ResgistrarLog(requisicaoDto, LogRecursos.EditarClienteEndereco, requisicaoDto.EntidadeDto.Id, retornoDto.Mensagem); return(false); } } retornoDto.Retorno = true; retornoDto.Mensagem = "OK"; return(true); }