Exemple #1
0
        /// <summary>
        /// Obtem um pedido e converte em Model
        /// </summary>
        /// <param name="id"></param>
        /// <param name="model"></param>
        /// <param name="mensagemErro"></param>
        /// <returns></returns>
        private bool ObterPedido(Guid id, ref PedidoModel model, ref string mensagemErro)
        {
            //Preparar a requisição e o retorno
            RetornoObterDto <PedidoDto> retorno       = new RetornoObterDto <PedidoDto>();
            RequisicaoObterDto          requisicaoDto = new RequisicaoObterDto()
            {
                Id            = id,
                Identificacao = SessaoUsuario.SessaoLogin.Identificacao,
                IdUsuario     = SessaoUsuario.SessaoLogin.IdUsuario
            };

            //Consumir o serviço
            PedidoBll pedidoBll = new PedidoBll(true);

            pedidoBll.Obter(requisicaoDto, ref retorno);

            //Tratar o retorno
            if (retorno.Retorno == false)
            {
                mensagemErro = retorno.Mensagem;
                return(false);
            }
            else
            {
                //Converter para Model
                return(model.ConverterDtoParaModel(retorno.Entidade, ref mensagemErro));
            }
        }
        protected void gvPedidos_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName.Equals("Alterar"))
            {
                int Linha = int.Parse(e.CommandArgument.ToString());
                int ID    = int.TryParse(gvPedidos.Rows[Linha].Cells[0].Text, out ID) ? ID : 0;

                try
                {
                    PedidoBll  PedidoBll  = new PedidoBll();
                    ProdutoBll ProdutoBll = new ProdutoBll();
                    Pedido     Pedido     = PedidoBll.RetornarPedido(ID);

                    hfID.Value          = Pedido.ID.ToString();
                    txtDocumento.Text   = Pedido.Documento;
                    txtDataEntrega.Text = string.Format("{0:dd/MM/yyyy}", Pedido.DataEntrega);

                    var Produtos = ProdutoBll.RetornarPedidoProdutos(Pedido.ID);

                    gvProdutos.DataSource = Produtos;
                    gvProdutos.DataBind();
                    ViewState["Produtos"] = Produtos.ToDataTable();
                }
                catch (Exception ex)
                {
                    Msg.Erro(Resource.ContateAdminstrador, this);
                }
            }
        }
Exemple #3
0
        public void cadastrarPedido(int codSolicitacao, string materiaisFornecedores)
        {
            SolicitacaoMateriais objSolicitacao = FactoryClasses.criarSolicitacaoMateriais();

            objSolicitacao.Codigo = codSolicitacao;
            PedidoBll objPedidoBll = FactoryBll.criarPedidoBll();

            objPedidoBll.cadastrarPedido(objSolicitacao, materiaisFornecedores);
        }
Exemple #4
0
        /// <summary>
        /// Obtem uma listra filtrada de pedidos
        /// </summary>
        /// <param name="filtros"></param>
        /// <returns></returns>
        public string ObterListaFiltrada(FiltrosPedidoModel filtros)
        {
            //Requisição para obter a lista
            RequisicaoObterListaDto requisicaoDto = new RequisicaoObterListaDto()
            {
                CampoOrdem           = "DATAINCLUSAO",
                IdUsuario            = SessaoUsuario.SessaoLogin.IdUsuario,
                Identificacao        = SessaoUsuario.SessaoLogin.Identificacao,
                NaoPaginarPesquisa   = filtros.NaoPaginaPesquisa,
                Pagina               = filtros.Pagina,
                NumeroItensPorPagina = 20
            };

            //Adicionar filtros utilizados
            if (filtros.IdCliente != Guid.Empty && filtros.IdCliente != null)
            {
                requisicaoDto.ListaFiltros.Add("IDCLIENTE", filtros.IdCliente.ToString());
            }

            if (filtros.Tipo != TipoPedido.NaoIdentificado)
            {
                requisicaoDto.ListaFiltros.Add("TIPO", ((int)filtros.Tipo).ToString());
            }

            if (filtros.Total > 0)
            {
                requisicaoDto.ListaFiltros.Add("TOTAL", filtros.Total.ToString());
            }

            if (!string.IsNullOrWhiteSpace(filtros.ObterInativos))
            {
                requisicaoDto.ListaFiltros.Add("INATIVO", filtros.ObterInativos.Trim());
            }

            if (!string.IsNullOrWhiteSpace(filtros.PedidoIfood))
            {
                requisicaoDto.ListaFiltros.Add("PEDIDOIFOOD", filtros.PedidoIfood);
            }

            requisicaoDto.ListaFiltros.Add("DATAINCLUSAOINICIO", filtros.DataInicio.Date.ToString());
            requisicaoDto.ListaFiltros.Add("DATAINCLUSAOFIM", filtros.DataFim.Date.ToString());

            //Consumir o serviço
            PedidoBll pedidoBll = new PedidoBll(true);
            RetornoObterListaDto <PedidoDto> retornoDto = new RetornoObterListaDto <PedidoDto>();

            pedidoBll.ObterListaFiltrada(requisicaoDto, ref retornoDto);

            // o java script converte o fuso horário
            retornoDto.ListaEntidades.ForEach(p => p.DataInclusao = p.DataInclusao.AddHours(-4));

            string retorno = new JavaScriptSerializer().Serialize(retornoDto);

            return(retorno);
        }
Exemple #5
0
        public ActionResult CancelarPedido(ExclusaoModel model)
        {
            //Se não tiver login, encaminhar para a tela de login
            if (string.IsNullOrWhiteSpace(SessaoUsuario.SessaoLogin.Identificacao))
            {
                return(RedirectToAction("Login", "Usuario"));
            }

            if (!SessaoUsuario.SessaoLogin.Administrador)
            {
                ViewBag.MensagemErro = "Para estornar um pedido é necessário " +
                                       $"logar com um usuário administrador.";
                return(View("SemPermissao"));
            }

            if (string.IsNullOrWhiteSpace(model.Justificativa))
            {
                ModelState.AddModelError("", "Preencha uma justificativa para o estorno do pedido.");
                return(View("Cancelar", model));
            }

            //Preparar requisição e retorno
            RetornoDto retorno = new RetornoDto();
            RequisicaoCancelarPedidoDto requisicaoDto = new RequisicaoCancelarPedidoDto()
            {
                Id            = model.Id,
                Identificacao = SessaoUsuario.SessaoLogin.Identificacao,
                IdUsuario     = SessaoUsuario.SessaoLogin.IdUsuario,
                Justificativa = model.Justificativa
            };

            //Consumir o serviço
            PedidoBll pedidoBll = new PedidoBll(true);

            pedidoBll.CancelarPedido(requisicaoDto, ref retorno);

            //Tratar o retorno
            if (retorno.Retorno == false)
            {
                ModelState.AddModelError("", retorno.Mensagem);
                return(View("Cancelar", model));
            }

            TempData["Retorno"] = "ESTORNADO";

            //Voltar para a index de pedido
            return(RedirectToAction("Index"));
        }
        private void BindarGrid()
        {
            try
            {
                PedidoBll     PedidoBll = new PedidoBll();
                List <Pedido> Pedidos   = PedidoBll.RetornarPedidosCliente(1);

                gvPedidos.DataSource = Pedidos;
                gvPedidos.DataBind();
                ViewState["Produtos"] = Pedidos.ToDataTable();
            }
            catch (Exception ex)
            {
                Msg.Erro(Resource.ContateAdminstrador, this);
            }
        }
Exemple #7
0
        public void CrudPedidoSimples()
        {
            RequisicaoEntidadeDto <PedidoDto> requisicaoDto = new RequisicaoEntidadeDto <PedidoDto>()
            {
                EntidadeDto = RetornarNovoPedidoSimples()
            };

            Assert.IsTrue(Utilidades.RetornarAutenticacaoRequisicaoPreenchida(requisicaoDto));
            PedidoBll pedidoBll = new PedidoBll(true);

            // Incluir pedido
            RetornoDto retornoDto = new RetornoDto();

            pedidoBll.Incluir(requisicaoDto, ref retornoDto);
            Assert.AreEqual(true, retornoDto.Retorno);

            RetornoObterDto <PedidoDto> retornoObterDto    = new RetornoObterDto <PedidoDto>();
            RequisicaoObterDto          requisicaoObterDto = new RequisicaoObterDto()
            {
                Id            = requisicaoDto.EntidadeDto.Id,
                IdUsuario     = requisicaoDto.IdUsuario,
                Identificacao = requisicaoDto.Identificacao
            };

            // Obter pedido
            pedidoBll.Obter(requisicaoObterDto, ref retornoObterDto);
            Assert.AreEqual(true, retornoObterDto.Retorno);

            requisicaoDto.EntidadeDto = retornoObterDto.Entidade;
            requisicaoDto.EntidadeDto.ListaItens[0].PrecoProduto = 28;
            requisicaoDto.EntidadeDto.ListaItens.RemoveAt(1);
            requisicaoDto.EntidadeDto.Total            = 28;
            requisicaoDto.EntidadeDto.RecebidoDebito   = 28;
            requisicaoDto.EntidadeDto.RecebidoDinheiro = 0;

            // Editar pedido
            retornoDto = new RetornoDto();
            pedidoBll.Editar(requisicaoDto, ref retornoDto);
            Assert.AreEqual(true, retornoDto.Retorno);

            // Excluir pedido
            retornoDto = new RetornoDto();
            pedidoBll.Excluir(requisicaoObterDto, ref retornoDto);
            Assert.AreEqual(true, retornoDto.Retorno);
        }
Exemple #8
0
        /// <summary>
        /// Obtem uma listra filtrada de pedidos
        /// </summary>
        /// <param name="filtros"></param>
        /// <returns></returns>
        public string ObterPedidoResumido(Guid idPedido)
        {
            //Requisição para obter
            RequisicaoObterDto requisicaoDto = new RequisicaoObterDto()
            {
                IdUsuario     = SessaoUsuario.SessaoLogin.IdUsuario,
                Identificacao = SessaoUsuario.SessaoLogin.Identificacao,
                Id            = idPedido
            };

            //Consumir o serviço
            PedidoBll pedidoBll = new PedidoBll(true);
            RetornoObterDto <PedidoResumidoDto> retornoDto = new RetornoObterDto <PedidoResumidoDto>();

            pedidoBll.ObterPedidoResumido(requisicaoDto, ref retornoDto);

            string retorno = new JavaScriptSerializer().Serialize(retornoDto);

            return(retorno);
        }
        private void BindarGrid()
        {
            try
            {
                DateTime     DataInicial  = DateTime.TryParse(txtDataInicialFiltro.Text, out DataInicial) ? DataInicial : DateTime.MinValue;
                DateTime     DataFinal    = DateTime.TryParse(txtDataFinalFiltro.Text, out DataFinal) ? DataFinal : DateTime.MinValue;
                StatusPedido StatusPedido = (StatusPedido)int.Parse(ddlCliente.SelectedValue);

                PedidoBll      PedidoBll = new PedidoBll();
                IList <Pedido> Pedidos   = PedidoBll.BuscarPedidosUsuario(this.User.Identity.Name, txtDocumentoFiltro.Text, DataInicial, DataFinal, StatusPedido);

                gvPedidos.DataSource = Pedidos;
                gvPedidos.DataBind();
                ViewState["Produtos"] = Pedidos.ToDataTable();
            }
            catch (Exception ex)
            {
                Msg.Erro(Resource.ContateAdminstrador, this);
            }
        }
Exemple #10
0
        public Collection <Pedido> listarPedidos()
        {
            PedidoBll objPedidoBll = FactoryBll.criarPedidoBll();

            return(objPedidoBll.listarPedidos());
        }
Exemple #11
0
        public ActionResult Incluir(PedidoModel model)
        {
            //Se não tiver login, encaminhar para a tela de login
            if (string.IsNullOrWhiteSpace(SessaoUsuario.SessaoLogin.Identificacao))
            {
                return(RedirectToAction("Login", "Usuario"));
            }

            ModelState.Where(p => p.Key.Contains("Entrega.ClienteEndereco.")).Select(p => p.Key).ToList().ForEach(p => ModelState.Remove(p));
            ModelState.Where(p => p.Key.Contains("Cliente.")).Select(p => p.Key).ToList().ForEach(p => ModelState.Remove(p));
            ModelState.Where(p => p.Key.Contains("ListaItens")).Select(p => p.Key).ToList().ForEach(p => ModelState.Remove(p));

            //Validar a model recebida
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            string mensagemErro = "";

            if (!PrepararCadastros(ref model, ref mensagemErro))
            {
                ModelState.AddModelError("", mensagemErro);
                return(View(model));
            }

            //Converter para DTO
            PedidoDto pedidoDto = new PedidoDto();

            if (!model.ConverterModelParaDto(ref pedidoDto, ref mensagemErro))
            {
                ModelState.AddModelError("", $"Erro ao converter para Dto: {mensagemErro}");
                return(View(model));
            }

            pedidoDto.Id = Guid.NewGuid();

            //Preparar requisição e retorno
            RetornoDto retorno = new RetornoDto();
            RequisicaoEntidadeDto <PedidoDto> requisicaoDto = new RequisicaoEntidadeDto <PedidoDto>()
            {
                EntidadeDto   = pedidoDto,
                Identificacao = SessaoUsuario.SessaoLogin.Identificacao,
                IdUsuario     = SessaoUsuario.SessaoLogin.IdUsuario
            };

            //Consumir o serviço
            PedidoBll pedidoBll = new PedidoBll(true);

            pedidoBll.Incluir(requisicaoDto, ref retorno);

            //Verificar o retorno
            if (retorno.Retorno == false)
            {
                //Se houver erro, exibir na tela de inclusão
                ModelState.AddModelError("", retorno.Mensagem);
                return(View(model));
            }

            model.DataInclusao = DateTime.Now.AddHours(4);
            string impressao = "";

            if (MontarImpressaoPedido(model, ref impressao))
            {
                TempData["Impressao"] = impressao;
            }

            TempData["Retorno"] = "INCLUIDO";

            //Retornar para index
            return(RedirectToAction("Index"));
        }
Exemple #12
0
        public ActionResult Editar(PedidoModel model)
        {
            //Se não tiver login, encaminhar para a tela de login
            if (string.IsNullOrWhiteSpace(SessaoUsuario.SessaoLogin.Identificacao))
            {
                return(RedirectToAction("Login", "Usuario"));
            }

            ModelState.Where(p => p.Key.Contains("Entrega.ClienteEndereco.")).Select(p => p.Key).ToList().ForEach(p => ModelState.Remove(p));
            ModelState.Where(p => p.Key.Contains("Cliente.")).Select(p => p.Key).ToList().ForEach(p => ModelState.Remove(p));
            ModelState.Where(p => p.Key.Contains("ListaItens")).Select(p => p.Key).ToList().ForEach(p => ModelState.Remove(p));

            //Valida a entidade recebida
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            string mensagemErro = "";

            if (!PrepararCadastros(ref model, ref mensagemErro))
            {
                ModelState.AddModelError("", mensagemErro);
                return(View(model));
            }

            //Converte para DTO
            PedidoDto pedidoDto = new PedidoDto();

            if (!model.ConverterModelParaDto(ref pedidoDto, ref mensagemErro))
            {
                ViewBag.MensagemErro = mensagemErro;
                return(View("Erro"));
            }

            //Preparar requisição e retorno
            RetornoDto retorno = new RetornoDto();
            RequisicaoEntidadeDto <PedidoDto> requisicaoDto = new RequisicaoEntidadeDto <PedidoDto>()
            {
                EntidadeDto   = pedidoDto,
                Identificacao = SessaoUsuario.SessaoLogin.Identificacao,
                IdUsuario     = SessaoUsuario.SessaoLogin.IdUsuario
            };

            //Consumir o serviço
            PedidoBll pedidoBll = new PedidoBll(true);

            pedidoBll.Editar(requisicaoDto, ref retorno);

            //Tratar o retorno
            if (retorno.Retorno == false)
            {
                ModelState.AddModelError("", retorno.Mensagem);
                return(View(model));
            }

            TempData["Retorno"] = "ALTERADO";

            //Voltar para o visualizar do pedido
            return(RedirectToAction("Index"));
        }