/// <summary> /// Obtem uma listra filtrada de entregas /// </summary> /// <param name="filtros"></param> /// <returns></returns> public string ConferirEntrega(Guid idEntrega, float valorRetorno) { RetornoDto retornoDto = new RetornoDto(); if (!SessaoUsuario.SessaoLogin.Administrador) { retornoDto.Retorno = false; retornoDto.Mensagem = "Para alterar os dados de uma entrega é necessário " + $"logar com um usuário administrador."; } else { //Requisição para conferir RequisicaoConferirEntregaDto requisicaoDto = new RequisicaoConferirEntregaDto() { IdUsuario = SessaoUsuario.SessaoLogin.IdUsuario, Identificacao = SessaoUsuario.SessaoLogin.Identificacao, ValorRetornado = valorRetorno, Id = idEntrega }; //Consumir o serviço PedidoEntregaBll entregaBll = new PedidoEntregaBll(true); entregaBll.ConferirEntrega(requisicaoDto, ref retornoDto); } string retorno = new JavaScriptSerializer().Serialize(retornoDto); return(retorno); }
/// <summary> /// Confere uma entrega, registrando o valor retornado /// </summary> /// <param name="requisicaoDto"></param> /// <param name="retornoDto"></param> /// <returns></returns> public bool ConferirEntrega(RequisicaoConferirEntregaDto requisicaoDto, ref RetornoDto retornoDto) { string mensagemErro = ""; if (!UtilitarioBll.ValidarIdentificacao(requisicaoDto.Identificacao, requisicaoDto.IdUsuario, ref mensagemErro)) { retornoDto.Retorno = false; retornoDto.Mensagem = mensagemErro; logBll.ResgistrarLog(requisicaoDto, LogRecursos.ConferirEntrega, requisicaoDto.Id, mensagemErro); return(false); } if (!UtilitarioBll.ValidarUsuarioAdm(requisicaoDto.Identificacao, ref mensagemErro)) { retornoDto.Retorno = false; retornoDto.Mensagem = "Este usuário não é administrador. Para conferir entregas é necessário " + $"logar com um usuário administrador. {mensagemErro}"; logBll.ResgistrarLog(requisicaoDto, LogRecursos.ConferirEntrega, requisicaoDto.Id, retornoDto.Mensagem); } // Validar o id da entrega if (requisicaoDto.Id == Guid.Empty || requisicaoDto.Id == null) { retornoDto.Retorno = false; retornoDto.Mensagem = "O id da entrega não foi preenchido."; logBll.ResgistrarLog(requisicaoDto, LogRecursos.ConferirEntrega, requisicaoDto.Id, mensagemErro); return(false); } // Validar o valor if (requisicaoDto.ValorRetornado < 0) { retornoDto.Retorno = false; retornoDto.Mensagem = "O valor retornado não pode ser menor que 0 (zero)."; logBll.ResgistrarLog(requisicaoDto, LogRecursos.ConferirEntrega, requisicaoDto.Id, mensagemErro); return(false); } PedidoEntregaVo entregaVo; if (!ObterPorIdBd(requisicaoDto.Id, out entregaVo, ref mensagemErro)) { retornoDto.Mensagem = "Erro ao obter o pedido: " + mensagemErro; retornoDto.Retorno = false; logBll.ResgistrarLog(requisicaoDto, LogRecursos.ConferirEntrega, requisicaoDto.Id, retornoDto.Mensagem); return(false); } // Preencher os dados da conferência entregaVo.Conferido = true; entregaVo.ValorRetorno = requisicaoDto.ValorRetornado; if (!EditarBd(entregaVo, ref mensagemErro)) { retornoDto.Retorno = false; retornoDto.Mensagem = "Falha ao editar os novos dados da entrega: " + mensagemErro; logBll.ResgistrarLog(requisicaoDto, LogRecursos.ConferirEntrega, requisicaoDto.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.ConferirEntrega, requisicaoDto.Id, retornoDto.Mensagem); return(false); } } retornoDto.Retorno = true; retornoDto.Mensagem = "OK"; return(true); }