Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        /// <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);
        }