Пример #1
0
        /// <summary>
        ///A test for Insert
        ///</summary>
        //[TestMethod()]
        public void InsertTest()
        {
            ItemPedidoDAL target = new ItemPedidoDAL();
            ItemPedido itemPedido = new ItemPedido();

            itemPedido.IdItem = 2;
            itemPedido.IdParceiro = 1;
            itemPedido.IdPedido = 1;
            itemPedido.Nivel= 2;
            itemPedido.NomeProduto= "Teste2";
            itemPedido.Pontos= 200;
            itemPedido.PrecoUnitario= 23.50;
            itemPedido.Quantidade= 2;
            itemPedido.ValorRebate = 20;

            target.Insert(itemPedido);
            ItemPedido itemPedidoTest = target.Obter("IdItem = " + itemPedido.IdItem + "AND IdParceiro=" + itemPedido.IdParceiro + "AND IdPedido=" + itemPedido.IdPedido);

            Assert.AreEqual(itemPedido.IdItem,itemPedidoTest.IdItem);
            Assert.AreEqual(itemPedido.IdParceiro, itemPedidoTest.IdParceiro);
            Assert.AreEqual(itemPedido.IdPedido, itemPedidoTest.IdPedido);
            Assert.AreEqual(itemPedido.Nivel, itemPedidoTest.Nivel);
            Assert.AreEqual(itemPedido.NomeProduto, itemPedidoTest.NomeProduto);
            Assert.AreEqual(itemPedido.Pontos, itemPedidoTest.Pontos);
            Assert.AreEqual(itemPedido.PrecoUnitario, itemPedidoTest.PrecoUnitario);
            Assert.AreEqual(itemPedido.Quantidade, itemPedidoTest.Quantidade);
            Assert.AreEqual(itemPedido.ValorRebate, itemPedidoTest.ValorRebate);
        }
Пример #2
0
        public void Adiciona(ItemPedido item)
        {
            if (CarrinhoJaPossuiEste(item))
            {
                var itemExistente = Itens.Where(i => i.Equals(item)).Single();
                itemExistente.IncrementaQuantidade(item.Quantidade);
            }
            else
            {
                Itens.Add(item);
            }

            TotalizarPrecoDosItens();
        }
Пример #3
0
        public IList<ItemPedido> ConstroiDois()
        {
            if (_itensSeraoIguais)
            {
                var item = new ItemPedido(_produto, _quantidade);
                _doisItens = new List<ItemPedido> { item, item };
            }
            else
            {
                var item = new ItemPedido(_doisProdutos[0], _quantidade);
                var itemDiferente = new ItemPedido(_doisProdutos[1], _quantidade);
                _doisItens = new List<ItemPedido> { item, itemDiferente };
            }

            return _doisItens;
        }
Пример #4
0
        public ActionResult Index(Author author)
        {
            int id;
            try
            {
                using (ProvaEntities db = new ProvaEntities())
                {

                    Pedido ped = new Pedido();
                    ped.cep = author.cep;
                    ped.cidade = author.cidade;
                    ped.complemento = author.complemento;
                    ped.cpf = author.cpf;
                    ped.data = author.data;
                    ped.endereco = author.endereco;
                    ped.uf = author.uf;
                    db.Pedido.Add(ped);
                    db.SaveChanges();
                    Pedido p = db.Pedido.FirstOrDefault(u => u.cpf == author.cpf);
                    id = p.id_pedido;
                }
                foreach (var itens in author.Books)
                {
                    using (ProvaEntities db = new ProvaEntities())
                    {
                        ItemPedido ped = new ItemPedido();
                        ped.id_pedido = id;
                        ped.id_produto = itens.id_prod;
                        ped.qtde = itens.qtde;
                        ped.subtotal = itens.subtotal;
                        db.ItemPedido.Add(ped);
                        db.SaveChanges();
                    }
                }

                return RedirectToAction("Index", "Home");
            }
            catch (Exception ex)
            {
                return View();
            }
        }
Пример #5
0
 private bool CarrinhoJaPossuiEste(ItemPedido item)
 {
     return Itens.Any(i => i.Equals(item));
 }
Пример #6
0
 public double CalculateSubTotal(ItemPedido itemPedido)
 {
     return(itemPedido.PrecoUnitario * itemPedido.Quantidade);
 }
 public UpdateQuantidadeResponse UpdateQuantidade([FromBody]ItemPedido itemPedido)
 {
     return pedidoRepository.UpdateQuantidade(itemPedido);
 }
        public async Task <JsonResult> UpdateQuantidade([FromBody] ItemPedido itemPedido)
        {
            UpdateQuantidadeResponse updateQuantidadeResponse = await pedidoRepository.UpdateQuantidadeAsync(itemPedido);

            return(Json(updateQuantidadeResponse));
        }
Пример #9
0
        private void BtnFinalizarPedido_Click(object sender, EventArgs e)
        {
            try
            {
                ItemPedidoNegocio itemPedidoNegocio = new ItemPedidoNegocio();

                if (novoPedido)
                {
                    //PEDIDO NOVO E CADASTRO DE ITEMPRDIDO
                    PedidoNegocio pedidoNegocio = new PedidoNegocio();
                    Pedido        pedido        = new Pedido(Convert.ToInt32(TxtCodigoPedido.Text), Convert.ToInt32(LblCodigoEmpresa.Text), LblEmpresaDentista.Text, null);

                    for (int t = 0; t < DgvItensProduto.Rows.Count; t++)
                    {
                        if (DgvItensProduto.Rows[t].Cells[7].Value.ToString() == "")
                        {
                            ItemPedido itemPedido = new ItemPedido(null, Convert.ToInt32(DgvItensProduto.Rows[t].Cells[1].Value), Convert.ToInt32(TxtCodigoPedido.Text), Convert.ToDouble(DgvItensProduto.Rows[t].Cells[4].Value), Convert.ToInt32(DgvItensProduto.Rows[t].Cells[5].Value), DgvItensProduto.Rows[t].Cells[3].Value.ToString());
                            itemPedidoNegocio.Inserir(itemPedido);
                        }
                        else
                        {
                            ItemPedido itemPedido = new ItemPedido(null, Convert.ToInt32(DgvItensProduto.Rows[t].Cells[1].Value), Convert.ToInt32(TxtCodigoPedido.Text), Convert.ToDouble(DgvItensProduto.Rows[t].Cells[4].Value), Convert.ToInt32(DgvItensProduto.Rows[t].Cells[5].Value), DgvItensProduto.Rows[t].Cells[3].Value.ToString(), Convert.ToDateTime(DgvItensProduto.Rows[t].Cells[7].Value.ToString()));
                            itemPedidoNegocio.Inserir(itemPedido);
                        }
                    }

                    pedidoNegocio.Inserir(pedido);
                }
                else
                {
                    //ALTERAÇÃO DE ITEMPEDIDO E ALTERACAO DE CODIGO DO PEDIDO
                    //VERIFICAR SE O CÓDIGO DE PEDIDO É O MESMO QUE O ANTERIOR E MODIFICAR COM O ITEMPEDIDO
                    if (Convert.ToInt32(TxtCodigoPedido.Text) != pedido.Codigo)
                    {
                        PedidoNegocio pedidoNegocio = new PedidoNegocio();

                        pedidoNegocio.AlterarCodigo(pedido, Convert.ToInt32(TxtCodigoPedido.Text));
                        itemPedidoNegocio.AlterarCodigoPedido(Convert.ToInt32(TxtCodigoPedido.Text), pedido.Codigo);
                        pedido.Codigo = Convert.ToInt32(TxtCodigoPedido.Text);
                    }

                    //VERIFICAR CADA LINHA DO DATAGRID PARA VER QUAL O PRODUTO NOVO CADASTRADO E FAZER UM INSERT (ITEM PEDIDO = ""),
                    //SE ESTIVER VAZIO, FAZER UM INSERT;
                    for (int t = 0; t < DgvItensProduto.Rows.Count; t++)
                    {
                        if (DgvItensProduto.Rows[t].Cells[0].Value.ToString() == "")
                        {
                            if (DgvItensProduto.Rows[t].Cells[7].Value.ToString() == "")
                            {
                                ItemPedido itemPedido = new ItemPedido(null, Convert.ToInt32(DgvItensProduto.Rows[t].Cells[1].Value), pedido.Codigo, Convert.ToDouble(DgvItensProduto.Rows[t].Cells[4].Value), Convert.ToInt32(DgvItensProduto.Rows[t].Cells[5].Value), DgvItensProduto.Rows[t].Cells[3].Value.ToString(), null);
                                itemPedidoNegocio.Inserir(itemPedido);
                            }
                            else
                            {
                                ItemPedido itemPedido = new ItemPedido(null, Convert.ToInt32(DgvItensProduto.Rows[t].Cells[1].Value), pedido.Codigo, Convert.ToDouble(DgvItensProduto.Rows[t].Cells[4].Value), Convert.ToInt32(DgvItensProduto.Rows[t].Cells[5].Value), DgvItensProduto.Rows[t].Cells[3].Value.ToString(), Convert.ToDateTime(DgvItensProduto.Rows[t].Cells[7].Value));
                                itemPedidoNegocio.Inserir(itemPedido);
                            }
                        }
                        else
                        {
                            if (DgvItensProduto.Rows[t].Cells[7].Value.ToString() == "")
                            {
                                //SE TIVER COM CÓDIGO ITEMPEDIDO, FAZER UM UPDATE;
                                ItemPedido itemPedido = new ItemPedido(Convert.ToInt32(DgvItensProduto.Rows[t].Cells[0].Value), Convert.ToInt32(DgvItensProduto.Rows[t].Cells[1].Value), pedido.Codigo, Convert.ToDouble(DgvItensProduto.Rows[t].Cells[4].Value), Convert.ToInt32(DgvItensProduto.Rows[t].Cells[5].Value), DgvItensProduto.Rows[t].Cells[3].Value.ToString(), null);
                                itemPedidoNegocio.Alterar(itemPedido);
                            }
                            else
                            {
                                //SE TIVER COM CÓDIGO ITEMPEDIDO, FAZER UM UPDATE;
                                ItemPedido itemPedido = new ItemPedido(Convert.ToInt32(DgvItensProduto.Rows[t].Cells[0].Value), Convert.ToInt32(DgvItensProduto.Rows[t].Cells[1].Value), pedido.Codigo, Convert.ToDouble(DgvItensProduto.Rows[t].Cells[4].Value), Convert.ToInt32(DgvItensProduto.Rows[t].Cells[5].Value), DgvItensProduto.Rows[t].Cells[3].Value.ToString(), Convert.ToDateTime(DgvItensProduto.Rows[t].Cells[7].Value));
                                itemPedidoNegocio.Alterar(itemPedido);
                            }
                        }
                    }
                    //VERIFICAR COM UM FOR SE TEM UM PEDIDO QUE FOI DELETADO DO DATAGRID (SOMENTE COM ITEMPEDIDO != "").
                    int  qtde       = 0;
                    bool encontrado = false;
                    for (int t = 0; t < DgvItensProduto.Rows.Count; t++)
                    {
                        if (DgvItensProduto.Rows[t].Cells[0].Value.ToString() != "")
                        {
                            qtde++;
                        }
                    }

                    if (qtde != itemPedidos.Count)
                    {
                        for (int m = 0; m < itemPedidos.Count; m++)
                        {
                            for (int d = 0; d < DgvItensProduto.Rows.Count; d++)
                            {
                                if (DgvItensProduto.Rows[d].Cells[0].Value.ToString() != "")
                                {
                                    if (itemPedidos[m].Codigo == Convert.ToInt32(DgvItensProduto.Rows[d].Cells[0].Value))
                                    {
                                        encontrado = true;
                                        break;
                                    }
                                }
                            }

                            if (encontrado == false)
                            {
                                itemPedidoNegocio.Excluir(Convert.ToInt32(itemPedidos[m].Codigo));
                            }
                            encontrado = false;
                        }
                    }
                }

                this.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Não foi possível fazer a o cadastro do Pedido!" + ex.Message, "Exclusão", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
Пример #10
0
 public UpdateQuantidadeResponse RemoveItemPedido([FromBody] ItemPedido itemPedido)
 {
     return(pedidoRepository.RemoveItemPedido(itemPedido));
 }
Пример #11
0
 public void AtualizarItem(ItemPedido itemPedido)
 {
     _context.ItensPedidos.Update(itemPedido);
 }
 public UpdateItemPedidoResponse(ItemPedido itemPedido, CarrinhoViewModel carrinhoViewModel)
 {
     this.ItemPedido        = itemPedido;
     this.CarrinhoViewModel = carrinhoViewModel;
 }
Пример #13
0
 public ItemPedido Constroi()
 {
     var item = new ItemPedido(_produto, _quantidade);
     return item;
 }
Пример #14
0
 public void PostQuantidade([FromBody] ItemPedido input)
 {
     _dataService.UpdateItemPedido(input);
 }
Пример #15
0
 public double CalculateValorTotal(ItemPedido itemPedido)
 {
     return(itemPedido.PrecoUnitario * itemPedido.Quantidade - itemPedido.Desconto);
 }
Пример #16
0
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(null);
            }

            var palavra = "";

            lista_item = new List <string>();
            int     estoque       = 0;
            int     qtd_vendida   = 0;
            decimal total_vendido = 0;
            int     QTDESTOQUE    = 0;

            /* Manipulando lista de itens pedido */
            for (int i = 0; i < item.Length; i++)
            {
                if (item[i] != ',')
                {
                    while (i != item.Length && item[i] != ',')
                    {
                        palavra += item[i];
                        i++;
                    }
                }
                lista_item.Add(palavra);
                palavra = null;
            }

            //SALVAR PEDIDO
            var DATAEMISSAO  = DateTime.Now;
            int CODIGOPEDIDO = 0;

            Pedido.DATA_EMISSAO = DATAEMISSAO;
            Pedido.COD_USUARIO  = Convert.ToInt32(HttpContext.Session.GetString("_ID"));
            Pedido.SUB_TOTAL    = Convert.ToDecimal(subtotal.Replace(".", ","));
            Pedido.TOTAL        = Convert.ToDecimal(total.Replace(".", ","));
            Pedido.DESCONTO     = Convert.ToDecimal(desconto.Replace(".", ","));
            _context.Pedidos.Add(Pedido);
            await _context.SaveChangesAsync();

            //SALVAR ITEM PEDIDOS E ESTOQUE
            CODIGOPEDIDO = _context.Pedidos.FirstOrDefault(p => p.DATA_EMISSAO.Equals(DATAEMISSAO)).COD_PEDIDO;
            for (var i = 0; i < lista_item.Count; i += 4)
            {
                /* Item Pedido */
                ItemPedido ITEMPEDIDO = new ItemPedido();

                ITEMPEDIDO.COD_PEDIDO  = CODIGOPEDIDO;
                ITEMPEDIDO.COD_PRODUTO = Convert.ToInt32(lista_item[i]);
                if (Pedido.TABELA_PRECO == "Atacado" && ((Convert.ToInt32(lista_item.Count) / 4) > 50))
                {
                    ITEMPEDIDO.PRECO_UNITARIO = Convert.ToDecimal(float.Parse(lista_item[i + 1].Replace(".", ",")) * float.Parse("0,97"));
                }
                else
                {
                    ITEMPEDIDO.PRECO_UNITARIO = Convert.ToDecimal(lista_item[i + 1].Replace(".", ","));
                }
                ITEMPEDIDO.QUANTIDADE = Convert.ToInt32(lista_item[i + 2]);
                ITEMPEDIDO.TOTAL      = Convert.ToDecimal(lista_item[i + 3].Replace(".", ","));
                QTDESTOQUE            = _context.Produtos.FirstOrDefault(p => p.COD_PRODUTO == Convert.ToInt32(lista_item[i])).QTD_ESTOQUE;

                _context.ItemPedidos.Add(ITEMPEDIDO);
                _context.SaveChanges();

                /* Estoque */
                var produtos = _context.Produtos.Find(Convert.ToInt32(lista_item[i]));
                estoque = QTDESTOQUE - Convert.ToInt32(lista_item[i + 2]);
                produtos.QTD_ESTOQUE = estoque;

                /* Relatório Produto */
                qtd_vendida            = _context.Produtos.FirstOrDefault(p => p.COD_PRODUTO == Convert.ToInt32(lista_item[i])).QTD_VENDIDA;
                total_vendido          = _context.Produtos.FirstOrDefault(p => p.COD_PRODUTO == Convert.ToInt32(lista_item[i])).TOTAL_VENDIDO;
                produtos.QTD_VENDIDA   = qtd_vendida + Convert.ToInt32(lista_item[i + 2]);
                produtos.TOTAL_VENDIDO = total_vendido + Convert.ToDecimal(lista_item[i + 3].Replace(".", ","));

                _context.Produtos.Update(produtos);
                _context.SaveChanges();
            }

            return(RedirectToPage("./Index"));
        }
Пример #17
0
        // GET: ItensPedido
        public ActionResult Index(string id)
        {
            ViewBag.Itens = ItemPedido.BuscarPorPedido(id);

            return(View());
        }
Пример #18
0
 public void AddItem(ItemPedido p)
 {
     context.Add(p);
     context.SaveChanges();
 }
Пример #19
0
        public static void InserirDadosDb(SmartStoreDbContext context)
        {
            Console.WriteLine("Aplicando Migrations...");
            context.Database.Migrate();

            if (!context.Produtos.Any())
            {
                Console.WriteLine("Criando dados...");

                List <Produto> produtos = new List <Produto>();
                var            prodSmartphoneSamsung = new Produto {
                    Id = Guid.NewGuid(), Tag = "1971C36E", Marca = "Samsung", Modelo = "Smartphone A10s", Descricao = "Memória RAM: 2GB", Valor = 949.00m
                };
                var prodSmartphoneLG = new Produto {
                    Id = Guid.NewGuid(), Tag = "E12B6320", Marca = "LG", Modelo = "Smartphone K50s", Descricao = "Memória RAM: 3GB", Valor = 989.00m
                };
                produtos.Add(prodSmartphoneSamsung);
                produtos.Add(prodSmartphoneLG);

                var categoriaTelefonia = new Categoria {
                    Id = Guid.NewGuid(), Nome = "Telefonia"
                };

                var pedido = new Pedido {
                    Id = Guid.NewGuid(), Instante = DateTime.Now
                };

                List <ItemPedido> itemPedidos = new List <ItemPedido>();
                var itemPedido1 = new ItemPedido {
                    Id = Guid.NewGuid(), PedidoId = pedido.Id, ProdutoId = prodSmartphoneSamsung.Id, Desconto = 0.00, Quantidade = 1, Produto = prodSmartphoneSamsung, Pedido = pedido, Valor = prodSmartphoneSamsung.Valor
                };
                var itemPedido2 = new ItemPedido {
                    Id = Guid.NewGuid(), PedidoId = pedido.Id, ProdutoId = prodSmartphoneLG.Id, Desconto = 0.00, Quantidade = 1, Produto = prodSmartphoneLG, Pedido = pedido, Valor = prodSmartphoneLG.Valor
                };
                itemPedidos.Add(itemPedido1);
                itemPedidos.Add(itemPedido2);

                pedido.Itens = itemPedidos;
                pedido.Total = itemPedidos.Sum(x => x.Valor);

                List <ProdutoCategoria> telefoniaProdutoCategorias = new List <ProdutoCategoria>();
                var produtoCategoria1 = new ProdutoCategoria {
                    Id = Guid.NewGuid(), ProdutoId = prodSmartphoneSamsung.Id, CategoriaId = categoriaTelefonia.Id, Produto = prodSmartphoneSamsung, Categoria = categoriaTelefonia
                };
                var produtoCategoria2 = new ProdutoCategoria {
                    Id = Guid.NewGuid(), ProdutoId = prodSmartphoneLG.Id, CategoriaId = categoriaTelefonia.Id, Produto = prodSmartphoneLG, Categoria = categoriaTelefonia
                };
                telefoniaProdutoCategorias.Add(produtoCategoria1);
                telefoniaProdutoCategorias.Add(produtoCategoria2);

                categoriaTelefonia.Produtos = telefoniaProdutoCategorias;

                context.Produtos.AddRange(produtos);
                context.Categorias.AddRange(categoriaTelefonia);
                context.Pedidos.AddRange(pedido);
                context.ItemPedidos.AddRange(itemPedidos);
                context.ProdutoCategorias.AddRange(telefoniaProdutoCategorias);
                context.SaveChanges();
            }
            else
            {
                Console.WriteLine("Dados já existem...");
            }
        }
Пример #20
0
 public IActionResult NovoPedido(ItemPedido pedido)
 {
     Dados.PedidoAtual.addItem(pedido);
     ViewBag.Pedido = pedido;
     return(View("Concluido"));
 }
Пример #21
0
 public void UpdateQuantidade([FromBody] ItemPedido itemPedido)
 {
     itemPedidoRepository.UpdateQuantidade(itemPedido);
 }
Пример #22
0
 public async Task AdicionarItemAsync(ItemPedido itemPedido)
 {
     await _context.ItensPedidos.AddAsync(itemPedido);
 }
Пример #23
0
 private async Task SalvarItemPedido(ItemPedido itemPedido)
 {
     using (ItemPedidoRepository repository = new ItemPedidoRepository())
         await repository.Salvar(itemPedido);
 }
Пример #24
0
 public void RemoverItem(ItemPedido itemPedido)
 {
     _context.ItensPedidos.Remove(itemPedido);
 }
Пример #25
0
        static void Main(string[] args)
        {
            Console.WriteLine("Entre com os dados do cliente");
            Console.Write("Nome: ");
            string nomeCliente = Console.ReadLine();

            Console.Write("E-mail: ");
            string emailCliente = Console.ReadLine();

            Console.Write("Data Nascimento (DD/MM/YYYY): ");
            DateTime dataNascimentoCliente = DateTime.Parse(Console.ReadLine());

            // instanciando um novo cliente com os dados acima
            Cliente cliente = new Cliente(nomeCliente, emailCliente, dataNascimentoCliente);

            Console.WriteLine();
            Console.WriteLine("Entre com os dados da transportadora");
            Console.Write("Nome: ");
            string nomeTransportadora = Console.ReadLine();

            Console.Write("Valor do frete: ");
            double valorFrete = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);
            //Console.Write("Data entrega (prevista) (DD/MM/YYYY): ");
            //DateTime dataEntrega = DateTime.Now.AddDays(10.0);

            //instanciando uma nova transportadora com os dados acima
            Transportadora transportadora = new Transportadora(nomeTransportadora, valorFrete, DateTime.Now.AddDays(10.0));

            //Transportadora transportadora = new Transportadora(nomeTransportadora, valorFrete, dataEntrega);

            Console.WriteLine();
            Console.WriteLine("Entre com os dados do pedido");
            Console.Write("Status (PagamentoPendente/Processando/Enviado/Entregue): ");
            StatusPedido statusPedido = Enum.Parse <StatusPedido>(Console.ReadLine());

            //instanciando um novo pedido com os dados acima
            Pedido pedido = new Pedido(DateTime.Now, statusPedido, cliente, transportadora);

            Console.WriteLine();
            // testar com: Deseja cadastrar algum item S/N

            Console.Write("Quando itens deseja adicionar ao pedido: ");
            int qtd = int.Parse(Console.ReadLine());

            for (int i = 1; i <= qtd; i++)
            {
                Console.WriteLine();
                Console.WriteLine($"Dados do {i}º item");
                Console.Write("Nome do produto      : ");
                string nomeProduto = Console.ReadLine();
                Console.Write("Valor do produto     : ");
                double valorProduto = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);
                Console.Write("Quantidade do produto: ");
                int qtdProduto = int.Parse(Console.ReadLine());

                //instanciando um novo produto
                Produto produto = new Produto(nomeProduto, valorProduto);
                //instanciando um novo item pedido
                ItemPedido itemPedido = new ItemPedido(qtdProduto, valorProduto, produto);

                pedido.AdicionarItem(itemPedido);
            }

            Console.Clear();
            Console.WriteLine(pedido);
        }
 public UpdateItemPedidoResponse PostQuantidade([FromBody] ItemPedido input)
 {
     return(pedidoRepository.UpdateQuantidade(input));
 }
Пример #27
0
 public abstract decimal CalcularValor(ItemPedido item);
Пример #28
0
 public IActionResult Index(ItemPedido pedido)
 {
     Dados.PedidoAtual.Inserir(pedido);
     return(View("Concluido"));
 }
Пример #29
0
 public override decimal CalcularValor(ItemPedido item)
 {
     return(item.Total - (item.Total * 0.20M));
 }
 public async Task <UpdateQuantidadeResponse> UpdateQuantidade([FromBody] ItemPedido itemPedido)
 {
     return(await pedidoRepository.UpdateQuantidade(itemPedido));
 }
Пример #31
0
        public decimal CalcularValor(TipoPedido tipoPedido, ItemPedido item)
        {
            var regraEscolhida = _regras.Single(regra => regra.TipoPedido == tipoPedido);

            return(regraEscolhida.CalcularValor(item));
        }
Пример #32
0
        public override List <EntidadeDominio> Consultar(EntidadeDominio entidade)
        {
            Pedido        pedido  = (Pedido)entidade;
            List <Pedido> pedidos = new List <Pedido>();
            string        cmdTextoPedido;

            try
            {
                Conectar();

                if (pedido.UsuarioId > 0)
                {
                    cmdTextoPedido = "SELECT " +
                                     "PedidoId, " +
                                     "UsuarioId, " +
                                     "EnderecoId, " +
                                     "ValorFrete, " +
                                     "DataPedido, " +
                                     "P.Status, " +
                                     "Observacao, " +
                                     "SPD.Descricao " +
                                     "FROM Pedidos P " +
                                     "JOIN StatusDePedidos SPD ON(P.Status = SPD.Status) " +
                                     "WHERE UsuarioId = @UsuarioId " +
                                     "ORDER BY PedidoId";
                }
                else if (pedido.Id > 0)
                {
                    cmdTextoPedido = "SELECT " +
                                     "PedidoId, " +
                                     "UsuarioId, " +
                                     "EnderecoId, " +
                                     "ValorFrete, " +
                                     "DataPedido, " +
                                     "P.Status, " +
                                     "Observacao, " +
                                     "SPD.Descricao " +
                                     "FROM Pedidos P " +
                                     "JOIN StatusDePedidos SPD ON(P.Status = SPD.Status) " +
                                     "WHERE PedidoId = @PedidoId " +
                                     "ORDER BY PedidoId";
                }
                else if (pedido.Status != '\0')
                {
                    cmdTextoPedido = "SELECT " +
                                     "PedidoId, " +
                                     "UsuarioId, " +
                                     "EnderecoId, " +
                                     "ValorFrete, " +
                                     "DataPedido, " +
                                     "P.Status, " +
                                     "Observacao, " +
                                     "SPD.Descricao " +
                                     "FROM Pedidos P " +
                                     "JOIN StatusDePedidos SPD ON(P.Status = SPD.Status) " +
                                     "WHERE P.Status = @Status " +
                                     "ORDER BY PedidoId";
                }
                else
                {
                    cmdTextoPedido = "SELECT " +
                                     "PedidoId, " +
                                     "UsuarioId, " +
                                     "EnderecoId, " +
                                     "ValorFrete, " +
                                     "DataPedido, " +
                                     "P.Status, " +
                                     "Observacao, " +
                                     "SPD.Descricao " +
                                     "FROM Pedidos P " +
                                     "JOIN StatusDePedidos SPD ON(P.Status = SPD.Status) " +
                                     "ORDER BY PedidoId";
                }

                SqlCommand comandoPedido = new SqlCommand(cmdTextoPedido, conexao);

                if (pedido.UsuarioId > 0)
                {
                    comandoPedido.Parameters.AddWithValue("@UsuarioId", pedido.UsuarioId);
                }
                else if (pedido.Id > 0)
                {
                    comandoPedido.Parameters.AddWithValue("@PedidoId", pedido.Id);
                }
                if (pedido.Status != '\0')
                {
                    comandoPedido.Parameters.AddWithValue("@Status", pedido.Status);
                }

                SqlDataReader drPedido = comandoPedido.ExecuteReader();

                pedidos = DataReaderPedidoParaList(drPedido);

                foreach (var item in pedidos)
                {
                    cmdTextoPedido = "SELECT ItemId, Qtde, PrecoUnitario " +
                                     "FROM Pedidos P " +
                                     "JOIN PedidosItens PI ON(P.PedidoId = PI.PedidoId) " +
                                     "WHERE P.PedidoId = @PedidoId AND P.Status = @Status";

                    comandoPedido = new SqlCommand(cmdTextoPedido, conexao);

                    comandoPedido.Parameters.AddWithValue("@PedidoId", item.Id);
                    comandoPedido.Parameters.AddWithValue("@Status", item.Status);
                    drPedido = comandoPedido.ExecuteReader();

                    if (drPedido.HasRows)
                    {
                        while (drPedido.Read())
                        {
                            ItemPedido temp = new ItemPedido
                            {
                                Id      = drPedido.GetInt32(0),
                                Qtde    = drPedido.GetInt32(1),
                                Produto = new Domain.Produto.Livro {
                                    PrecoVenda = Convert.ToDouble(drPedido.GetDecimal(2))
                                }
                            };
                            item.ItensPedido.Add(temp);
                        }
                    }
                    drPedido.Close();
                }
                foreach (var item in pedidos)
                {
                    cmdTextoPedido = "SELECT C.CupomId, Tipo, Valor " +
                                     "FROM Cupons C " +
                                     "JOIN PedidosCupons PC ON(C.CupomId = PC.CupomId) " +
                                     "JOIN Pedidos P ON(PC.PedidoId = P.PedidoId) " +
                                     "WHERE P.PedidoId = @PedidoId";

                    comandoPedido = new SqlCommand(cmdTextoPedido, conexao);

                    comandoPedido.Parameters.AddWithValue("@PedidoId", item.Id);
                    drPedido = comandoPedido.ExecuteReader();

                    if (drPedido.HasRows)
                    {
                        item.CuponsTroca = new List <Cupom>();
                        while (drPedido.Read())
                        {
                            Cupom temp = new Cupom
                            {
                                Id    = drPedido.GetInt32(0),
                                Tipo  = Convert.ToChar(drPedido.GetString(1)),
                                Valor = Convert.ToDouble(drPedido.GetDecimal(2))
                            };
                            if (temp.Tipo == 'P')
                            {
                                item.CupomPromocional = temp;
                            }
                            else
                            {
                                item.CuponsTroca.Add(temp);
                            }
                        }
                    }
                    drPedido.Close();
                }
                comandoPedido.Dispose();
            }
            catch (SqlException e)
            {
                throw e;
            }
            catch (InvalidOperationException e)
            {
                throw e;
            }
            finally
            {
                Desconectar();
            }
            return(pedidos.ToList <EntidadeDominio>());
        }
Пример #33
0
        public JsonResult UpdateQuantidade([FromBody] ItemPedido itemPedido)
        {
            UpdateQuantidadeResponse resultado = pedidoRepository.UpdateQuantidade(itemPedido);

            return(Json(resultado));
        }
Пример #34
0
 public void Remove(ItemPedido item)
 {
     Itens.Remove(item);
     TotalizarPrecoDosItens();
 }
 public UpdateItemPedidoResponse PostQuantidade([FromBody] ItemPedido input)
 {
     return(_dataService.UpdateItemPedido(input));
 }
Пример #36
0
        public void DeleteTest()
        {
            ItemPedidoDAL target = new ItemPedidoDAL();
            ItemPedido itemPedido = new ItemPedido();

            itemPedido.IdItem = 2;
            itemPedido.IdParceiro = 1;
            itemPedido.IdPedido = 1;


            target.Delete(itemPedido);

            //Assert.(ambiente, target.Obter("IdAmbiente = 101"));
        }
Пример #37
0
 public UpdateQuantidadeResponse(ItemPedido itemPedido, CarrinhoViewModel carrinhoViewModel)
 {
     ItemPedido             = itemPedido;
     this.carrinhoViewModel = carrinhoViewModel;
 }
Пример #38
0
        public async Task <ActionResult <List <ItemPedido> > > AdicionarItensPedido(long id, ItemPedido itemPedido)
        {
            ItemPedido novoItemPedido = new ItemPedido()
            {
                Id = ((listaItensPedido.Count() == 0) ? 1 : (listaItensPedido.Max(l => l.Id) + 1)), IdLivro = itemPedido.IdLivro, Quantidade = itemPedido.Quantidade, Valor = itemPedido.Valor, IdPedido = id
            };

            listaItensPedido.Add(novoItemPedido);

            Pedido pedido = listaPedidos.Where(p => p.Id == id).FirstOrDefault();

            pedido.ValorTotal = pedido.ValorTotal + (novoItemPedido.Quantidade * novoItemPedido.Valor);


            return(listaItensPedido.Where(c => c.IdPedido == id).ToList());
        }
Пример #39
0
        public InterfaceStatus FinalizeOrder3(string Login, string Token, int OrderId, int Status, int Parceiro, string XmlTroca)
        {
            /*
                <TROCA>
                <DATA>22/11/2010</DATA>
                <CPF>17263404818</CPF>
                <PONTOS>1</PONTOS>
                <PEDIDO>999</PEDIDO>
                <IDPARCEIRO>3</IDPARCEIRO>
                <PRODUTO>
                <NOME>BOLA QUADRADA</NOME>
                <CODIGO>X</CODIGO>
                <VALOR>30</VALOR>
                <QUANTIDADE>1</QUANTIDADE>
                <CODIGOCATEGORIA>0</CODIGOCATEGORIA>
                <DESCRICAOCATEGORIA>ESPORTIVOS;FUTEBOL;INFANTIL</DESCRICAOCATEGORIA>
                <FRETE>0</FRETE>
                </PRODUTO>
                <PRODUTO>
                <NOME>BOLA TRIANGULAR</NOME>
                <CODIGO>X</CODIGO>
                <VALOR>30</VALOR>
                <QUANTIDADE>1</QUANTIDADE>
                <CODIGOCATEGORIA>0</CODIGOCATEGORIA>
                <DESCRICAOCATEGORIA>ESPORTIVOS;FUTEBOL;INFANTIL</DESCRICAOCATEGORIA>
                <FRETE>0</FRETE>
                </PRODUTO>
                </TROCA>             
             */
            InterfaceStatus InterfaceStatus = null;

            try
            {
                Sam9araujo.NameProject.Service.Omnion.Login omnionLogin = OmnionLoginEngine.Instance.Get(Login, Token);

                if (omnionLogin != null)
                {
                    OrderPointsTemp orderPointsTemp = OrderPointsTempRepository.Instance.Obter(OrderId, Parceiro);

                    Logger.Log(Server.MapPath("~/WS_FinalizeOrder.log"), "Parceiro: " + Parceiro, true, false);
                    Logger.Log(Server.MapPath("~/WS_FinalizeOrder.log"), "OrderID: " + OrderId, false, false);
                    Logger.Log(Server.MapPath("~/WS_FinalizeOrder.log"), "Status Parceiro: " + Status, false, false);
                    Logger.Log(Server.MapPath("~/WS_FinalizeOrder.log"), "CPF: " + omnionLogin.CPF, false, false);
                    Logger.Log(Server.MapPath("~/WS_FinalizeOrder.log"), "Pontos antes da transação: " + omnionLogin.Saldo, false, false);


                    if (orderPointsTemp != null)
                    {
                        Logger.Log(Server.MapPath("~/WS_FinalizeOrder.log"), "Pedido: " + OrderId + " na tabela 'orderPointsTemp' recuperado.", false, false);
                        Omnion.Pedido omnionPedido = Omnion.OmnionPedidoEngine.Instance.Get(orderPointsTemp.IdOrder, orderPointsTemp.Points.ToString(), "0", omnionLogin.CPF, Parceiro, Server.UrlDecode(XmlTroca));



                        Logger.Log(Server.MapPath("~/WS_FinalizeOrder.log"), "omnionPedido.CodigoErro: " + omnionPedido.CodigoErro, false, false);
                        if (omnionPedido.CodigoErro == 0)
                        {
                            Logger.Log(Server.MapPath("~/WS_FinalizeOrder.log"), "Pontos antes da transação: " + omnionLogin.Saldo, false, false);

                            if (XmlTroca != null && XmlTroca != string.Empty)
                            {
                                Logger.Log(Server.MapPath("~/WS_FinalizeOrder.log"), XmlTroca, false, false);

                                Domain.Pedido pedido = new Domain.Pedido();
                                {
                                    //Dados do pedido
                                    pedido.Data = DateTime.Now;
                                    pedido.Nome = omnionLogin.Nome;
                                    pedido.FormaPagamento = "-";

                                    //Dados de Entrega do pedido
                                    pedido.Bairro = "-";
                                    pedido.Cidade = "-";
                                    pedido.UF = "-";
                                    pedido.CPFCNPJ = "-";
                                    pedido.CEP = "-";
                                    pedido.Endereco = "-";

                                    pedido.Frete = 0;
                                    pedido.Status = "OK";
                                    pedido.IdParceiro = Parceiro;

                                    ItemPedido itemPedido = new ItemPedido();
                                    {
                                        itemPedido.IdItem = OrderId;
                                        itemPedido.Quantidade = 1;
                                        itemPedido.ValorRebate = 0;
                                        itemPedido.PrecoUnitario = 0;
                                        itemPedido.Nivel = 0;
                                        //itemPedido.IdProduto = null;
                                        //itemPedido.NomeProduto = null;
                                    }
                                }
                                PedidoRepository.Instance.Insert(pedido);
                            }

                            InterfaceStatus = new InterfaceStatus(FinalizeOrderEnum.TRANSACAO_AUTORIZADA);
                            Logger.Log(Server.MapPath("~/WS_FinalizeOrder.log"), "TRANSACAO_AUTORIZADA", false, false);
                        }
                        else
                        {
                            InterfaceStatus = new InterfaceStatus(FinalizeOrderEnum.FALHA_GERAL);
                        }

                        Logger.Log(Server.MapPath("~/WS_FinalizeOrder.log"), "Pontos depois da transação: " + omnionLogin.Saldo, false, false);
                    }
                    else
                    {
                        InterfaceStatus = new InterfaceStatus(FinalizeOrderEnum.FALHA_GERAL);
                        Logger.Log(Server.MapPath("~/WS_FinalizeOrder.log"), "Erro ao recuperar o pedido: " + OrderId + " na tabela 'orderPointsTemp'", false, false);
                    }

                    Logger.Log(Server.MapPath("~/WS_FinalizeOrder.log"), "CodErro Omnion: " + omnionLogin.CodigoErro, false, false);
                    Logger.Log(Server.MapPath("~/WS_FinalizeOrder.log"), "Status Omnion: " + omnionLogin.Status, false, true);
                }
                else
                {
                    Logger.Log(Server.MapPath("~/WS_FinalizeOrder.log"), "Erro ao tentar logar na Omnion:", false, true);
                }
            }
            catch (Exception ex)
            {
                InterfaceStatus = new InterfaceStatus(FinalizeOrderEnum.FALHA_GERAL);
                Logger.Log(Server.MapPath("~/WS_FinalizeOrder.log"), "Excessão, consultar LOG: " + DateTime.Now, false, true);
                Logger.WriteLogError("ValidateOrder", ex);
            }

            return InterfaceStatus;
        }