Exemplo n.º 1
0
        public async Task Post(PedidoDTO pedidoDto)
        {
            var pedido = new Pedido()
            {
                Desconto        = pedidoDto.Desconto,
                Origem          = pedidoDto.Origem,
                Tipo            = pedidoDto.Tipo,
                TaxaDeEntrega   = pedidoDto.TaxaEntrega,
                MeioDePagamento = pedidoDto.MeioDePagamento,
                Cliente         = new Cliente()
                {
                    Cpf       = pedidoDto.Cliente.Cpf,
                    Nome      = pedidoDto.Cliente.Nome,
                    Telefone  = pedidoDto.Cliente.Telefone,
                    Endereços = new List <Endereço>()
                    {
                        new Endereço
                        {
                            Logradouro  = pedidoDto.Endereco.Logradouro,
                            Bairro      = pedidoDto.Endereco.Bairro,
                            Cidade      = pedidoDto.Endereco.Cidade,
                            Estado      = pedidoDto.Endereco.Estado,
                            Complemento = pedidoDto.Endereco.Complemento,
                            Observação  = pedidoDto.Endereco.Observacao
                        }
                    }
                }
            };

            foreach (var item in pedidoDto.Itens)
            {
                var produto = await _produtoRepositório.ObterProdutoPorId(item.ProdutoId);

                var produtoPedido = new ProdutoPedido
                {
                    Produto = produto,
                    Valor   = produto.Valor
                };

                if (item.Adicionais?.Length > 0)
                {
                    var vinculoAdicionais = item.Adicionais.Select(x =>
                    {
                        var adicional = produto.Adicionais.Single(y => y.Id == x.Id);
                        return(new AdicionalProdutoPedido
                        {
                            Produto = produtoPedido,
                            Adicional = adicional,
                            Valor = adicional.Valor
                        });
                    }).ToList();

                    produtoPedido.AdicionaisProdutoPedido = vinculoAdicionais;
                }

                pedido.AdicionarProdutoPedido(produtoPedido);
            }

            await _repositorio.AdicionarPedido(pedido);
        }
        public Pedido ConsultarProdutosPedidos(Pedido pedido)
        {
            try
            {
                string select = @"SELECT PP.ID_PEDIDO, PP.ID_PRODUTO, PR.NM_PRODUTO, PR.DS_PRODUTO, PR.VAL_PRODUTO, PP.QT_PRODUTO, PP.VAL_UNIT";
                select += @" FROM PRODUTO_PEDIDO AS PP JOIN PRODUTO AS PR";
                select += @" ON PP.ID_PEDIDO = " + pedido.ID + " AND PP.ID_PRODUTO = PR.ID_PRODUTO";

                _cmd = new MySqlCommand(select, banco.AbrirConexao());
                MySqlDataReader dr;
                dr = _cmd.ExecuteReader();

                while (dr.Read())
                {
                    ProdutoPedido produto = new ProdutoPedido
                    {
                        Pedido     = { ID = Convert.ToInt32(dr["ID_PEDIDO"]) },
                        Produto    = { ID = Convert.ToInt32(dr["ID_PRODUTO"]), Nome = dr["NM_PRODUTO"].ToString() },
                        Quantidade = Convert.ToInt32(dr["QT_PRODUTO"]),
                        Valor      = Convert.ToDouble(dr["VAL_UNIT"])
                    };
                    pedido.listProdutoPedidos.Add(produto);
                }
            }
            catch
            {
                throw;
            }
            finally
            {
                banco.FecharConexao();
            }
            return(pedido);
        }
Exemplo n.º 3
0
        public static bool MontaProdutoPedidoCreate(ProdutoPedidoViewModel entrada, out ProdutoPedido modelo, ContextPage contexto)
        {
            modelo           = new ProdutoPedido();
            modelo           = entrada.produtoPedido;
            modelo.idProduto = entrada.produto.id;

            if (modelo.idProduto != null)
            {
                ////************ Objetos de controle de acesso ***************
                modelo.criadoEm          = DateTime.Now;
                modelo.criadoPor         = contexto.idUsuario;
                modelo.criadoPorName     = contexto.nomeUsuario;
                modelo.modificadoEm      = DateTime.Now;
                modelo.modificadoPor     = contexto.idUsuario;
                modelo.modificadoPorName = contexto.nomeUsuario;
                modelo.idOrganizacao     = contexto.idOrganizacao;
                ////************ FIM Objetos de controle de acesso ***************

                //************* Executa calculo ************
                ProdutoPedidoRules.CalculaProdutoPedido(ref modelo);

                return(true);
            }

            return(false);
        }
Exemplo n.º 4
0
        private void UpdatePedidoProdutos(string[] selectedProdutos, Pedido pedidoToUpdate)
        {
            if (selectedProdutos == null)
            {
                pedidoToUpdate.ProdutoPedidos = new List <ProdutoPedido>();
                return;
            }

            var selectedProdutosHS = new HashSet <string>(selectedProdutos);
            var pedidoProdutos     = new HashSet <int>
                                         (pedidoToUpdate.ProdutoPedidos.Select(c => c.Produto.ID));

            foreach (var produto in _context.Produtos)
            {
                if (selectedProdutosHS.Contains(produto.ID.ToString()))
                {
                    if (!pedidoProdutos.Contains(produto.ID))
                    {
                        pedidoToUpdate.ProdutoPedidos.Add(new ProdutoPedido {
                            PedidoID = pedidoToUpdate.ID, ProdutoID = produto.ID
                        });
                    }
                }
                else
                {
                    if (pedidoProdutos.Contains(produto.ID))
                    {
                        ProdutoPedido produtoToRemove = pedidoToUpdate.ProdutoPedidos.SingleOrDefault(i => i.ProdutoID == produto.ID);
                        _context.Remove(produtoToRemove);
                    }
                }
            }
        }
Exemplo n.º 5
0
        public void IniciarCenario()
        {
            _pedido = new Pedido();

            _cliente = new Cliente();

            _pizza           = new Pizza();
            _calzone         = new Calzone();
            _produtoPedido   = new ProdutoPedido();
            _produtoGenerico = new Bebida();

            _saborQueijo = new Sabor();
            _saborQueijo.ValorPequena = 30;
            _saborQueijo.ValorMedia   = 40;
            _saborQueijo.ValorGrande  = 50;
            _saborQueijo.ValorCalzone = 45;

            _saborCoracao = new Sabor();
            _saborCoracao.ValorPequena = 40;
            _saborCoracao.ValorMedia   = 50;
            _saborCoracao.ValorGrande  = 60;
            _saborCoracao.ValorCalzone = 55;

            _bordaCatupiry = ObjectMother.ObterAdicional_BordaCatupiry();

            _pedido.Cliente        = _cliente;
            _pedido.FormaPagamento = FormaPagamentoPedido.DINHEIRO;
        }
        public async Task <Guid> Handle(AdicionarProdutoPedidoCommand request, CancellationToken cancellationToken)
        {
            var pedido = _pedidoRepository.GetEntityById(request.IDPedido);

            if (pedido == null)
            {
                request.AddNotification("AdicionarProdutoPedidoCommand", $"pedido ({request.IDPedido}) não encontrado no banco de dados.");
            }

            var produtoPedido = new ProdutoPedido(request.IDProduto, request.Quantidade);

            produtoPedido.VincularAoPedido(request.IDPedido);

            if (produtoPedido.Invalid || request.Invalid)
            {
                produtoPedido.AddNotifications(request.Notifications);

                await _mediator.Publish(new DomainNotification
                {
                    Erros = request.Notifications
                }, cancellationToken);

                return(await Task.FromResult(Guid.Empty));
            }

            _produtoPedidoRepository.Add(produtoPedido);

            return(await Task.FromResult(produtoPedido.Id));
        }
Exemplo n.º 7
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,ProdutoId,PedidoId")] ProdutoPedido produtoPedido)
        {
            if (id != produtoPedido.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(produtoPedido);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ProdutoPedidoExists(produtoPedido.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["PedidoId"]  = new SelectList(_context.Pedido, "Id", "Id", produtoPedido.PedidoId);
            ViewData["ProdutoId"] = new SelectList(_context.Produto, "Id", "Id", produtoPedido.ProdutoId);
            return(View(produtoPedido));
        }
Exemplo n.º 8
0
        public IActionResult DeleteProdutoPedido(string idProdutoPedido, string idPedido)
        {
            ProdutoPedido modelo = new ProdutoPedido();

            modelo.id = new Guid(idProdutoPedido);
            produtoPedidoData.Delete(modelo);
            return(RedirectToAction("GridProdutoPedido", new { idPedido = idPedido }));
        }
Exemplo n.º 9
0
        public List <Pedido> ListarItensDoPedidoNoERPPor(int CodigoDoPedido, string Aprovador)
        {
            List <Pedido> pedidosDeVenda = new List <Pedido>();

            ListaItensBloqueados_ttWebPedRow[] itens = null;
            ListaItensBloqueados_ttErroRow[]   erros = null;
            Domain.Servicos.HelperWS.SharepointService.ListaItensBloqueados(CodigoDoPedido, Aprovador, out itens, out erros);

            if (erros != null && erros.Length > 0)
            {
                Pedido pedido = new Pedido(this.OrganizationName, this.IsOffline);
                foreach (ListaItensBloqueados_ttErroRow erro in erros)
                {
                    pedido.MensagemErro = pedido.MensagemErro + " ||| (" + erro.codigo.ToString() + ") " + erro.descricao;
                }
                pedidosDeVenda.Add(pedido);
            }
            else
            {
                foreach (ListaItensBloqueados_ttWebPedRow item in itens)
                {
                    Pedido        pedido     = new Pedido(this.OrganizationName, this.IsOffline);
                    ProdutoPedido itemPedido = new ProdutoPedido(this.OrganizationName, this.IsOffline);
                    itemPedido.ProdutoModel           = new Product(this.OrganizationName, this.IsOffline);
                    itemPedido.ProdutoModel.Codigo    = item.itcodigo;
                    itemPedido.ProdutoModel.CodigoEms = item.itcodigo;
                    itemPedido.ProdutoModel.Descricao = item.descitem;
                    if (item.qtpedida != null)
                    {
                        itemPedido.Quantidade = (int)item.qtpedida.Value;
                    }
                    if (item.precoinf != null)
                    {
                        itemPedido.PrecoNegociado = item.precoinf.Value;
                    }
                    if (item.nrsequencia != null)
                    {
                        itemPedido.CodigoEms = item.nrsequencia.Value.ToString();
                    }
                    if (item.precomintab != null)
                    {
                        itemPedido.PrecoMinimo = item.precomintab.Value;
                    }

                    pedido.ItensDoPedido.Add(itemPedido);
                    pedido.CodigoDoPedido = item.nrpedcli;
                    pedido.Nome           = item.aprovador;
                    //item.codrefer
                    pedido.Cliente               = new Domain.Model.Conta(this.OrganizationName, this.IsOffline);
                    pedido.Cliente.Nome          = item.nomeemit;
                    pedido.Cliente.NomeAbreviado = item.nomeabrev;
                    pedido.Cliente.Representante = new SDKore.DomainModel.Lookup(Guid.Empty, item.nomerepres, "contact");

                    pedidosDeVenda.Add(pedido);
                }
            }
            return(pedidosDeVenda);
        }
Exemplo n.º 10
0
        public void DeveRetornarErroAoAdicionarQuantidadeInvalida(int quantidade)
        {
            var pedido        = new Pedido(_helperTest.Garcom, _helperTest.Comanda, _helperTest.Cliente);
            var produtoPedido = new ProdutoPedido(_helperTest.Produto.Id, 2);

            pedido.AumentarQuantidadeProduto(produtoPedido, quantidade);

            Assert.True(pedido.Invalid);
        }
Exemplo n.º 11
0
        public async Task <IActionResult> FazerCheckout(CheckoutViewModel model)
        {
            ApplicationUser user = await _userManager.GetUserAsync(HttpContext.User);

            var pedido = new Pedido()
            {
                ApplicationUserId = this.User.FindFirstValue(ClaimTypes.NameIdentifier),
                Cep         = model.CepEntrega,
                Complemento = model.ComplementoEntrega,
                DataEntrega = DateTime.ParseExact(model.DataEntrega, "dd/MM/yyyy", CultureInfo.CurrentCulture),
                Endereco    = model.EnderecoEntrega,
                DataPedido  = DateTime.Now,
                Numero      = model.NumEntrega,
                TipoEntrega = model.TipoEntrega,
            };

            var carrinho = HttpContext.Session.GetObjectFromJson <PedidoCarrinho>("CarrinhoDb");

            pedido.Produtos = new List <ProdutoPedido>();
            foreach (var item in carrinho.Produtos)
            {
                ProdutoPedido produtoPedido = new ProdutoPedido()
                {
                    ProdutoId  = item.ProdutoId,
                    Quantidade = item.Quantidade,
                };

                pedido.Produtos.Add(produtoPedido);
            }
            db.Add(pedido);
            db.SaveChanges();

            var client = _clientFactory.CreateClient();


            foreach (var produto in carrinho.Produtos)
            {
                var produtoEstoque = db.Produtos.Where(x => x.Id == produto.ProdutoId).FirstOrDefault();
                if (produtoEstoque != null)
                {
                    produtoEstoque.QtdEstoque -= produto.Quantidade;
                    db.Update(produtoEstoque);
                }
            }
            db.SaveChanges();

            db.PedidosCarrinho.Remove(db.PedidosCarrinho.Where(x => x.UserId == user.Id).FirstOrDefault());
            db.SaveChanges();

            PedidoCarrinho carrinhoSession = HttpContext.Session.GetObjectFromJson <PedidoCarrinho>("CarrinhoDb");

            carrinhoSession.Produtos = new List <ProdutoCarrinho>();
            HttpContext.Session.SetObjectAsJson("CarrinhoDb", carrinhoSession);

            return(RedirectToAction("ConfirmarCompra", "Checkout", new { id = pedido.Id }));
        }
Exemplo n.º 12
0
        public void DeveRetornarErroAoAdicionarProdutoRepetido()
        {
            var pedido        = new Pedido(_helperTest.Garcom, _helperTest.Comanda, _helperTest.Cliente);
            var produtoPedido = new ProdutoPedido(_helperTest.Produto.Id, 2);

            pedido.AdicionarProduto(produtoPedido);
            pedido.AdicionarProduto(produtoPedido);

            Assert.True(pedido.Invalid);
        }
        public PedidoCommandHandlerTest()
        {
            _helperEntitiesTest = new HelperEntitiesTest();

            var repositoryPedidoGetEntityNullMoq = new Mock <IPedidoRepository>();
            var repositoryPedidoMoq          = new Mock <IPedidoRepository>();
            var repositoryGarcomMoq          = new Mock <IGarcomRepository>();
            var repositoryComandaMoq         = new Mock <IComandaRepository>();
            var repositoryHistoricoPedidoMoq = new Mock <IHistoricoPedidoRepository>();
            var repositoryProdutoPedidoMoq   = new Mock <IProdutoPedidoRepository>();
            var repositoryClientePedidoMoq   = new Mock <IClienteRepository>();

            Garcom garcomNull = null;

            repositoryGarcomMoq
            .Setup(x => x.GetEntityById(It.IsAny <Guid>()))
            .Returns(garcomNull);

            Pedido pedidoNull = null;

            repositoryPedidoGetEntityNullMoq
            .Setup(x => x.GetEntityById(It.IsAny <Guid>()))
            .Returns(pedidoNull);

            repositoryPedidoMoq
            .Setup(x => x.GetEntityById(It.IsAny <Guid>()))
            .Returns(_helperEntitiesTest.Pedido);

            Comanda comandaNull = null;

            repositoryComandaMoq
            .Setup(x => x.GetEntityById(It.IsAny <Guid>()))
            .Returns(comandaNull);

            ProdutoPedido produtoPedidoNull = null;

            repositoryProdutoPedidoMoq
            .Setup(x => x.GetEntityById(It.IsAny <Guid>()))
            .Returns(produtoPedidoNull);

            var mediatorMoq = new Mock <IMediator>();

            mediatorMoq
            .Setup(x => x.Publish(It.IsAny <object>(), It.IsAny <CancellationToken>()))
            .Returns(Task.CompletedTask);

            _mediator = mediatorMoq.Object;
            _pedidoGetEntityNullRepository = repositoryPedidoGetEntityNullMoq.Object;
            _pedidoRepository          = repositoryPedidoMoq.Object;
            _comandaRepository         = repositoryComandaMoq.Object;
            _garcomRepository          = repositoryGarcomMoq.Object;
            _historicoPedidoRepository = repositoryHistoricoPedidoMoq.Object;
            _produtoPedidoRepository   = repositoryProdutoPedidoMoq.Object;
            _clienteRepository         = repositoryClientePedidoMoq.Object;
        }
Exemplo n.º 14
0
        static void Main(string[] args)
        {
            Console.WriteLine("------------------------------------Entre com os dados do cliente:-------------------------------------");
            Console.Write("Nome: ");
            string clienteNome = Console.ReadLine();

            Console.Write("Entre com o e-mail: ");
            string email = Console.ReadLine();

            Console.Write("Entre com a data de aniversário: (DD/MM/YYYY): ");
            DateTime dataAniversario = DateTime.Parse(Console.ReadLine());

            Console.WriteLine();

            Console.WriteLine("------------------------------------Entre com os dados do pedido:--------------------------------------");
            Console.WriteLine();
            Console.WriteLine("Status: Pagamento_Pendente = 0, Processando = 1, Enviado = 2, Entregue = 3 ");
            Console.WriteLine();
            Console.Write("Status do pedido: ");
            OrderStatus status = Enum.Parse <OrderStatus>(Console.ReadLine());

            Cliente cliente = new Cliente(clienteNome, email, dataAniversario);
            Pedido  pedido  = new Pedido(DateTime.Now, status, cliente);

            Console.WriteLine("---------------------------------Quantos produtos haverá no pedido?------------------------------------");
            Console.Write("Digite a quantidade: ");
            int n = int.Parse(Console.ReadLine());

            Console.WriteLine();

            for (int i = 1; i <= n; i++)
            {
                Console.WriteLine();
                Console.WriteLine($"Entre com o #{i}º item do pedido:");
                Console.Write("Descrição do prduto: ");
                string produtoNome = Console.ReadLine();
                Console.Write("Entre com preço do produto: ");
                double produtoPreco = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);

                Produto produto = new Produto(produtoNome, produtoPreco);

                Console.Write("Entre com a quantidade do produto: ");
                int produtoQuantidade = int.Parse(Console.ReadLine());

                ProdutoPedido produtoPedido = new ProdutoPedido(produtoQuantidade, produtoPreco, produto);

                pedido.AddProduto(produtoPedido);
            }

            Console.WriteLine("");
            Console.WriteLine("--------------------------------------Dados do Pedido:-------------------------------------------------");
            Console.WriteLine(pedido);
        }
Exemplo n.º 15
0
        private void btAdicionarProduto_Click(object sender, RoutedEventArgs e)
        {
            UCSelecaoProduto ucsp = new UCSelecaoProduto();
            CustomMessageBox cmb  = new CustomMessageBox()
            {
                Content            = ucsp,
                LeftButtonContent  = "Adicionar",
                RightButtonContent = "Cancelar"
            };

            cmb.Dismissing += (s1, e1) =>
            {
                switch (e1.Result)
                {
                case CustomMessageBoxResult.LeftButton:
                    try
                    {
                        if (ucsp.listProdutos.SelectedItem == null || string.IsNullOrWhiteSpace(ucsp.tbQuantidade.Text) || string.IsNullOrWhiteSpace(ucsp.tbValor.Text) ||
                            Convert.ToDecimal(ucsp.tbQuantidade.Text) == 0 || Convert.ToDecimal(ucsp.tbValor.Text) == 0)
                        {
                            e1.Cancel = true;
                        }
                        else if (ucsp.listProdutos.SelectedItem != null && !string.IsNullOrWhiteSpace(ucsp.tbQuantidade.Text) && !string.IsNullOrWhiteSpace(ucsp.tbValor.Text))
                        {
                            ProdutoPedido novoProdutoPedido = new ProdutoPedido();
                            novoProdutoPedido.IdProduto  = (ucsp.listProdutos.SelectedItem as Produto).Id;
                            novoProdutoPedido.Quantidade = Convert.ToDecimal(ucsp.tbQuantidade.Text);
                            novoProdutoPedido.Valor      = Convert.ToDecimal(ucsp.tbValor.Text);
                            novoProdutoPedido.Produto    = ucsp.listProdutos.SelectedItem as Produto;
                            novoPedido.Produtos.Add(novoProdutoPedido);

                            listProdutos.ItemsSource = null;
                            listProdutos.ItemsSource = novoPedido.Produtos;

                            decimal tValor = 0;
                            foreach (ProdutoPedido item in novoPedido.Produtos)
                            {
                                tValor += item.Valor * item.Quantidade;
                            }
                            tbTotalValor.Text    = tValor.ToString("0.00");
                            tbTotalRestante.Text = (tValor - (string.IsNullOrWhiteSpace(tbTotalReceber.Text)
                                    ? 0 : Convert.ToDecimal(tbTotalReceber.Text))).ToString("0.00");
                        }
                    }
                    catch (FormatException)
                    {
                        e1.Cancel = true;
                    }
                    break;
                }
            };
            cmb.Show();
        }
Exemplo n.º 16
0
        public async Task <IActionResult> Create([Bind("Id,ProdutoId,PedidoId")] ProdutoPedido produtoPedido)
        {
            if (ModelState.IsValid)
            {
                _context.Add(produtoPedido);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["PedidoId"]  = new SelectList(_context.Pedido, "Id", "Id", produtoPedido.PedidoId);
            ViewData["ProdutoId"] = new SelectList(_context.Produto, "Id", "Id", produtoPedido.ProdutoId);
            return(View(produtoPedido));
        }
Exemplo n.º 17
0
        public ProdutoViewModel(ProdutoPedido produto)
        {
            if (produto is null)
            {
                throw new ArgumentNullException(nameof(produto));
            }

            Id            = produto.ProdutoId;
            Descricao     = produto.Descricao;
            Unidade       = produto.Unidade;
            Valor         = produto.Valor;
            ValorUnitario = produto.ValorUnitario;
            Quantidade    = produto.Quantidade;
        }
Exemplo n.º 18
0
 public static void   CalculaProdutoPedido(ref ProdutoPedido modelo)
 {
     if (modelo.tipoDesconto == CustomEnum.tipoDesconto.Money)
     {
         modelo.total         = modelo.valor * modelo.quantidade;
         modelo.valorDesconto = modelo.valorDescontoMoney;
         modelo.totalGeral    = modelo.total - modelo.valorDesconto;
     }
     else
     {
         modelo.total         = modelo.valor * modelo.quantidade;
         modelo.valorDesconto = (modelo.total / 100) * modelo.valorDescontoPercentual;
         modelo.totalGeral    = modelo.total - modelo.valorDesconto;
     }
 }
Exemplo n.º 19
0
        public void Update(ProdutoPedido modelo)
        {
            db.Attach(modelo);
            db.Entry(modelo).Property("valor").IsModified = true;
            db.Entry(modelo).Property("valorDescontoMoney").IsModified      = true;
            db.Entry(modelo).Property("valorDescontoPercentual").IsModified = true;
            db.Entry(modelo).Property("tipoDesconto").IsModified            = true;
            db.Entry(modelo).Property("quantidade").IsModified        = true;
            db.Entry(modelo).Property("valorDesconto").IsModified     = true;
            db.Entry(modelo).Property("total").IsModified             = true;
            db.Entry(modelo).Property("totalGeral").IsModified        = true;
            db.Entry(modelo).Property("modificadoPor").IsModified     = true;
            db.Entry(modelo).Property("modificadoPorName").IsModified = true;
            db.Entry(modelo).Property("modificadoEm").IsModified      = true;

            db.SaveChanges();
        }
Exemplo n.º 20
0
        public static bool MontaProdutoPedidoUpdate(ProdutoPedidoViewModel entrada, out ProdutoPedido modelo)
        {
            modelo = new ProdutoPedido();


            ////************ Objetos de controle de acesso ***************
            modelo = entrada.produtoPedido;
            modelo.modificadoEm      = DateTime.Now;
            modelo.modificadoPor     = entrada.contexto.idUsuario;
            modelo.modificadoPorName = entrada.contexto.nomeUsuario;
            ////************ FIM Objetos de controle de acesso ***************

            //************* Executa calculo ************
            ProdutoPedidoRules.CalculaProdutoPedido(ref modelo);

            return(true);
        }
Exemplo n.º 21
0
        public IActionResult FormCreateProdutoPedido(ProdutoPedidoViewModel entrada)
        {
            ProdutoPedido modelo = new ProdutoPedido();

            try
            {
                if (ProdutoPedidoRules.MontaProdutoPedidoCreate(entrada, out modelo, contexto))
                {
                    produtoPedidoData.Add(modelo);
                    return(RedirectToAction("FormUpdatePedido", "Pedido", new { id = modelo.idPedido.ToString() }));
                }
            }
            catch (Exception ex)
            {
                LogOsca log = new LogOsca();
                log.GravaLog(1, 16, this.contexto.idUsuario, this.contexto.idOrganizacao, "FormCreateProdutoPedido-post", ex.Message);
            }
            return(View());
        }
Exemplo n.º 22
0
        public IActionResult FormUpdateProdutoPedido(ProdutoPedidoViewModel entrada)
        {
            ProdutoPedido modelo = new ProdutoPedido();

            entrada.contexto = this.contexto;

            try
            {
                if (ProdutoPedidoRules.MontaProdutoPedidoUpdate(entrada, out modelo))
                {
                    produtoPedidoData.Update(modelo);
                    SqlGenericData sqlData = new SqlGenericData();
                    StatusMessage = "Registro Atualizado com Sucesso!";

                    return(RedirectToAction("FormUpdatePedido", "Pedido", new { id = entrada.produtoPedido.idPedido.ToString() }));
                }
            }
            catch (Exception ex)
            {
                LogOsca log = new LogOsca();
                log.GravaLog(1, 16, this.contexto.idUsuario, this.contexto.idOrganizacao, "FormUpdateProdutoPedido-post", ex.Message);
            }
            return(View());
        }
Exemplo n.º 23
0
 public StatusComando AdicionarItemComposicaoMesa(int mesa, Guid composicao, ProdutoPedido produto)
 {
     try
     {
         var m = GetMesa(mesa);
         if (m == null)
         {
             throw new Exception("Mesa não encontrada.");
         }
         var comp = m.Produtos.SingleOrDefault(x => x.IdGuid == composicao);
         if (comp == null)
         {
             throw new Exception("Composição não encontrada.");
         }
         comp.Composicao.Add(produto);
         AjustarPrecoComposicao(comp);
         return(StatusComando.ConcluidoSucesso);
     }
     catch (Exception ex)
     {
         LastException = ex.Message;
     }
     return(StatusComando.ErroExecucao);
 }
Exemplo n.º 24
0
        private void botaoAdicionarItemPedido_Click(object sender, EventArgs e)
        {
            if (comboBoxTipoProduto.SelectedItem.ToString() == typeof(Pizza).Name)
            {
                Pizza novaPizza = new Pizza();

                novaPizza.Quantidade = Convert.ToInt32(numericUpDownQuantidade.Value);

                //Adicionando adicional na pizza, caso exista
                if (listBoxAdicionais.Items.Count != 0)
                {
                    novaPizza.Adicional = listBoxAdicionais.Items[0] as Adicional;
                }

                //Adicionando sabor obrigatório na pizza
                novaPizza.Sabor1 = listBoxSabores.Items[0] as Sabor;

                //A qual pedido a pizza pertence
                novaPizza.Pedido = this.Pedido;

                //Adicionando segundo sabor a pizza, caso exista
                if (listBoxSabores.Items.Count == 2)
                {
                    novaPizza.Sabor2 = listBoxSabores.Items[1] as Sabor;
                }

                //Setando tamanhã de pizza de acordo com o radio button marcado
                if (radioButtonPizzaPequena.Checked)
                {
                    novaPizza.Tamanho = TamanhoPizza.PEQUENA;
                }
                else if (radioButtonPizzaMedia.Checked)
                {
                    novaPizza.Tamanho = TamanhoPizza.MEDIA;
                }
                else if (radioButtonPizzaGrande.Checked)
                {
                    novaPizza.Tamanho = TamanhoPizza.GRANDE;
                }

                //Adicionando Pizza no Item Produto
                listBoxItensPedido.Items.Add(novaPizza);

                AdicionarProdutoNoPedido(novaPizza);
            }

            if (comboBoxTipoProduto.SelectedItem.ToString() == typeof(Calzone).Name)
            {
                Calzone calzone = new Calzone()
                {
                    Pedido     = this.Pedido,
                    Quantidade = Convert.ToInt32(numericUpDownQuantidade.Value),
                    Sabor1     = listBoxSabores.Items[0] as Sabor
                };

                listBoxItensPedido.Items.Add(calzone);

                AdicionarProdutoNoPedido(calzone);
            }

            if (comboBoxTipoProduto.SelectedItem.ToString() == typeof(Bebida).Name)
            {
                Bebida itemSelecionadoNoListBoxItensPedido = comboBoxItem.SelectedItem as Bebida;

                Bebida bebida = new Bebida();

                bebida.Id        = itemSelecionadoNoListBoxItensPedido.Id;
                bebida.Descricao = itemSelecionadoNoListBoxItensPedido.Descricao;
                bebida.Valor     = itemSelecionadoNoListBoxItensPedido.Valor;
                //bebida.Quantidade = Convert.ToInt32(numericUpDownQuantidade.Value);

                ProdutoPedido produtoPedido = new ProdutoPedido();
                produtoPedido.Produto    = bebida;
                produtoPedido.Quantidade = Convert.ToInt32(numericUpDownQuantidade.Value);

                listBoxItensPedido.Items.Add(produtoPedido);
                AdicionarProdutoNoPedido(produtoPedido);
            }

            LimparValoresDeItemPedido();
            ReiniciarValoresDeItemPedido();

            lblAvisoEscolherTipoDeItem.Visible = true;

            ExibirValorTotalDoPedido();

            VerificarDisponibilidadeDoBotaoAdicionarPedido();
        }
Exemplo n.º 25
0
 public void Delete(ProdutoPedido modelo)
 {
     db.ProdutosPedido.Remove(modelo);
     db.SaveChanges();
 }
Exemplo n.º 26
0
        public string Incluir(ProdutoPedido produtoPedido)
        {
            var retorno = _produtoPedidoService.Adicionar(produtoPedido);

            return(retorno.PedidoId);
        }
Exemplo n.º 27
0
 public void Add(ProdutoPedido modelo)
 {
     db.ProdutosPedido.Add(modelo);
     db.SaveChanges();
 }
Exemplo n.º 28
0
        public static void Initialize(TotvsContext context)
        {
            context.Database.EnsureCreated();

            // Look for any students.
            if (context.Clientes.Any())
            {
                return;   // DB has been seeded
            }

            var clientes = new Cliente[]
            {
                new Cliente {
                    Nome = "Carson", CPF = "97917191010"
                },
                new Cliente {
                    Nome = "Git", CPF = "23937196013"
                },
                new Cliente {
                    Nome = "Good", CPF = "87442646077"
                },
                new Cliente {
                    Nome = "Adriana", CPF = "94842766018"
                },
                new Cliente {
                    Nome = "Yan", CPF = "47188406006"
                }
            };

            foreach (Cliente s in clientes)
            {
                context.Clientes.Add(s);
            }
            context.SaveChanges();

            var produtos = new Produto[]
            {
                new Produto {
                    Descricao = "Iphone", ValorIndividual = 900.00f
                },
                new Produto {
                    Descricao = "Borracha", ValorIndividual = 0.25f
                },
                new Produto {
                    Descricao = "Papel", ValorIndividual = 0.05f
                },
                new Produto {
                    Descricao = "Coelho", ValorIndividual = 69.95f
                },
                new Produto {
                    Descricao = "Aparador", ValorIndividual = 250.00f
                },
                new Produto {
                    Descricao = "Varal", ValorIndividual = 120.50f
                },
                new Produto {
                    Descricao = "Uno", ValorIndividual = 450.99f
                }
            };

            foreach (Produto c in produtos)
            {
                context.Produtos.Add(c);
            }
            context.SaveChanges();

            var pedidos = new Pedido[]
            {
                new Pedido {
                    ClienteID = 1, DataPedido = new DateTime(2017, 1, 18)
                },
                new Pedido {
                    ClienteID = 2, DataPedido = new DateTime(2015, 3, 30)
                },
                new Pedido {
                    ClienteID = 2, DataPedido = new DateTime(2018, 8, 22)
                },
                new Pedido {
                    ClienteID = 5, DataPedido = new DateTime(2018, 8, 25)
                },
                new Pedido {
                    DataPedido = new DateTime(2015, 4, 23)
                },
                new Pedido {
                    DataPedido = new DateTime(2017, 6, 7)
                }
            };

            foreach (Pedido e in pedidos)
            {
                context.Pedidos.Add(e);
            }
            context.SaveChanges();

            var produtopeditos = new ProdutoPedido[]
            {
                new ProdutoPedido {
                    ProdutoID = 1, PedidoID = 3, Quantidade = 5
                },
                new ProdutoPedido {
                    ProdutoID = 2, PedidoID = 2, Quantidade = 65
                },
                new ProdutoPedido {
                    ProdutoID = 3, PedidoID = 1, Quantidade = 2
                },
                new ProdutoPedido {
                    ProdutoID = 1, PedidoID = 2, Quantidade = 62
                },
                new ProdutoPedido {
                    ProdutoID = 4, PedidoID = 3, Quantidade = 8
                },
                new ProdutoPedido {
                    ProdutoID = 4, PedidoID = 5, Quantidade = 235
                }
            };

            foreach (ProdutoPedido e in produtopeditos)
            {
                context.ProdutoPedidos.Add(e);
            }
            context.SaveChanges();
        }
Exemplo n.º 29
0
        private void btAdicionarProduto_Click(object sender, RoutedEventArgs e)
        {
            UCSelecaoProduto ucsp = new UCSelecaoProduto();
            CustomMessageBox cmb = new CustomMessageBox()
            {
                Content = ucsp,
                LeftButtonContent = "Adicionar",
                RightButtonContent = "Cancelar"
            };
            cmb.Dismissing += (s1, e1) =>
            {
                switch (e1.Result)
                {
                    case CustomMessageBoxResult.LeftButton:
                        try
                        {
                            if (ucsp.listProdutos.SelectedItem == null || string.IsNullOrWhiteSpace(ucsp.tbQuantidade.Text) || string.IsNullOrWhiteSpace(ucsp.tbValor.Text)
                                || Convert.ToDecimal(ucsp.tbQuantidade.Text) == 0 || Convert.ToDecimal(ucsp.tbValor.Text) == 0)
                                e1.Cancel = true;
                            else if (ucsp.listProdutos.SelectedItem != null && !string.IsNullOrWhiteSpace(ucsp.tbQuantidade.Text) && !string.IsNullOrWhiteSpace(ucsp.tbValor.Text))
                            {
                                ProdutoPedido novoProdutoPedido = new ProdutoPedido();
                                novoProdutoPedido.IdProduto = (ucsp.listProdutos.SelectedItem as Produto).Id;
                                novoProdutoPedido.Quantidade = Convert.ToDecimal(ucsp.tbQuantidade.Text);
                                novoProdutoPedido.Valor = Convert.ToDecimal(ucsp.tbValor.Text);
                                novoProdutoPedido.Produto = ucsp.listProdutos.SelectedItem as Produto;
                                novoPedido.Produtos.Add(novoProdutoPedido);

                                listProdutos.ItemsSource = null;
                                listProdutos.ItemsSource = novoPedido.Produtos;

                                decimal tValor = 0;
                                foreach (ProdutoPedido item in novoPedido.Produtos)
                                {
                                    tValor += item.Valor * item.Quantidade;
                                }
                                tbTotalValor.Text = tValor.ToString("0.00");
                                tbTotalRestante.Text = (tValor - (string.IsNullOrWhiteSpace(tbTotalReceber.Text)
                                    ? 0 : Convert.ToDecimal(tbTotalReceber.Text))).ToString("0.00");
                            }
                        }
                        catch(FormatException)
                        {
                            e1.Cancel = true;
                        }
                        break;
                }
            };
            cmb.Show();
        }