public void AlterarPedido(PedidoVenda pedidoVenda)
        {
            var pedido = GetPedidoVenda(pedidoVenda.Id);

            RemoverPedido(pedido);
            AdicionarPedido(pedidoVenda);
        }
示例#2
0
        public async Task <IActionResult> PutPedidoVenda([FromRoute] int id, [FromBody] PedidoVenda pedidoVenda)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != pedidoVenda.Id)
            {
                return(BadRequest());
            }

            _context.Entry(pedidoVenda).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!PedidoVendaExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public Task <int> Editar(PedidoVendaVM pedidoVendaVM)
        {
            try
            {
                //(Guid id, DateTime dataVenda, Guid idCliente, IEnumerable<ItemPedidoVenda> itemPedidos, double valorTotal
                var itemsPedidos = new List <ItemPedidoVenda>();
                foreach (var item in pedidoVendaVM.ItemPedidosVM)
                {
                    Guid idItemPedido;

                    if (item.Id == Guid.Empty || item.Id == null)
                    {
                        idItemPedido = Guid.NewGuid();
                    }
                    else
                    {
                        idItemPedido = item.Id.GetValueOrDefault();
                    }

                    itemsPedidos.Add(new ItemPedidoVenda(idItemPedido, item.Quantidade, item.Preco, item.SubTotal, item.IdProduto, pedidoVendaVM.Id));
                }
                var novoPedido = new PedidoVenda(
                    pedidoVendaVM.Id,
                    pedidoVendaVM.DataVenda.Value,
                    pedidoVendaVM.IdCliente,
                    itemsPedidos,
                    pedidoVendaVM.ValorTotal,
                    pedidoVendaVM.IdUsuarioLogado);
                return(_repository.Editar(novoPedido));
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
示例#4
0
        public async Task <int> Inserir(PedidoVenda pedido)
        {
            try
            {
                PedidoVenda pedidoVenda = new PedidoVenda(
                    pedido.DataVenda,
                    pedido.IdCliente,
                    pedido.ItemPedidos,
                    pedido.ValorTotal,
                    pedido.IdUsuarioLogado
                    );
                var itemsPedidos = pedido.ItemPedidos.Select(i => new ItemPedidoVenda
                {
                    Id         = Guid.NewGuid(),
                    Quantidade = i.Quantidade,
                    Preco      = i.Preco,
                    SubTotal   = i.SubTotal,
                    IdProduto  = i.IdProduto,
                    IdPedido   = pedidoVenda.Id
                }).ToList();

                pedidoVenda.ItemPedidos = itemsPedidos;

                _context.Pedidos.Add(pedidoVenda);
                return(await SalvarCommit());
            }
            catch (MySqlException e)
            {
                _context.Dispose();
                throw new Exception(e.Message);
            }
        }
        static void Main(string[] args)
        {
            var pedido1 = new PedidoVenda("Juliano", "Juarez", "Rua Caravelas, 991, Jussara - PR", 100.60m);

            #region Implementação convencional

            ImprimirPedido(pedido1.NomeCliente, pedido1.NomeVendedor, pedido1.ValorTotal);

            #endregion Implementação convencional

            #region Parâmetros nomeados

            ImprimirPedido(vendedor: pedido1.NomeVendedor, valorTotal: pedido1.ValorTotal, cliente: pedido1.NomeCliente);
            ImprimirPedido(valorTotal: pedido1.ValorTotal, vendedor: pedido1.NomeVendedor, cliente: pedido1.NomeCliente);

            #endregion Parâmetros nomeados

            #region Parâmetro opcional

            ImprimirPedidoComParametrosOpcionais(pedido1.NomeCliente, pedido1.ValorTotal);
            ImprimirPedidoComParametrosOpcionais(pedido1.NomeCliente, pedido1.ValorTotal, pedido1.NomeVendedor);

            #endregion Parâmetro opcional

            #region Sobrecargas

            ImprimirPedido(pedido1.NomeCliente, pedido1.NomeVendedor, pedido1.Endereco, pedido1.ValorTotal);
            Console.WriteLine(ImprimirPedido(pedido1));
            Console.WriteLine(pedido1.ToString());

            #endregion Sobrecargas

            Console.ReadLine();
        }
        public IHttpActionResult Get(int id)
        {
            PedidoVenda pedidoVenda = RepositorioPedidoVenda.PorId(id);

            if (pedidoVenda == null)
            {
                return(NotFound());
            }

            var pedidoVendaModel = new PedidoVendaModel();

            pedidoVendaModel.Cliente = new ClienteModel()
            {
                Cpf  = pedidoVenda.Cliente.Cpf,
                Id   = pedidoVenda.Cliente.Id,
                Nome = pedidoVenda.Cliente.Nome
            };
            pedidoVendaModel.DataEntrega = pedidoVenda.DataEntrega;
            pedidoVendaModel.Id          = pedidoVenda.Id;
            pedidoVendaModel.Itens       = pedidoVenda.Itens.Select(e => new ItemPedidoVendaModel()
            {
                IdProduto        = e.Produto.Id,
                DescricaoProduto = e.Produto.Descricao,
                Quantidade       = e.Quantidade,
                Valor            = e.Valor,
                ValorTotal       = e.ValorTotal
            }).ToArray();
            pedidoVendaModel.ValorTotal = pedidoVenda.ValorTotal;
            return(Ok(pedidoVendaModel));
        }
示例#7
0
        public PedidoVenda Construir()
        {
            if (dataEntrega < dataMinimaEntrega)
            {
                throw new PedidoVendaException("Data de entrega deve ser de hoje em diante");
            }

            List <ItemPedidoVenda> itensPedido = new List <ItemPedidoVenda>();
            PedidoVenda            pedidoVenda;

            foreach (Produto p in itens.Keys)
            {
                var             requisicao = itens[p];
                ItemPedidoVenda item       = new ItemPedidoVenda(p, requisicao.Quantidade, requisicao.Valor);
                itensPedido.Add(item);
            }

            if (cliente == null)
            {
                cliente = Dominio.Cliente.ConsumidorGenerico;
            }

            pedidoVenda = new PedidoVenda(dataEntrega, cliente, itensPedido);
            Reiniciar();
            return(pedidoVenda);
        }
示例#8
0
        public ActionResult DeleteConfirmed(int id)
        {
            PedidoVenda pedidoVenda = db.PedidoVendas.Find(id);

            db.PedidoVendas.Remove(pedidoVenda);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#9
0
 public ActionResult Edit([Bind(Include = "seqPedVenda,nroEmpresa,seqPessoa,dtaPedido")] PedidoVenda pedidoVenda)
 {
     if (ModelState.IsValid)
     {
         db.Entry(pedidoVenda).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(pedidoVenda));
 }
示例#10
0
 public ActionResult Edit([Bind(Include = "idPedidoVenda,dtEmissao,vValorTotalPedido")] PedidoVenda pedidoVenda)
 {
     if (ModelState.IsValid)
     {
         db.Entry(pedidoVenda).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(pedidoVenda));
 }
示例#11
0
        public ActionResult Create([Bind(Include = "seqPedVenda,nroEmpresa,seqPessoa,dtaPedido")] PedidoVenda pedidoVenda)
        {
            if (ModelState.IsValid)
            {
                db.PedidoVenda.Add(pedidoVenda);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(pedidoVenda));
        }
示例#12
0
        public ActionResult Create(PedidoVenda pedidoVenda)
        {
            if (ModelState.IsValid)
            {
                db.PedidoVendas.Add(pedidoVenda);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(pedidoVenda));
        }
示例#13
0
        public async Task <IActionResult> PostPedidoVenda([FromBody] PedidoVenda pedidoVenda)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.PedidoVenda.Add(pedidoVenda);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetPedidoVenda", new { id = pedidoVenda.Id }, pedidoVenda));
        }
示例#14
0
        static void Main(string[] args)
        {
            IPedidoVendaRepository repository = new PedidoVendaRepositorio();
            var pedido1 = new PedidoVenda("Juliano", "Maycon", "Rua Teste, 103", 100.60m);

            repository.AdicionarPedido(pedido1);
            var pedidoConsultado = repository.GetPedidoVenda(pedido1.Id);

            Console.WriteLine(pedidoConsultado.ToString());
            Console.Write($"{DateTime.Now.ToString("ddMMyyyyHHmmss")}.xml");
            File.WriteAllText("C:\\VirtualPDV", $"{DateTime.Now}.xml");
            Console.ReadLine();
        }
示例#15
0
        public ActionResult ItemVendas(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PedidoVenda pedidoVenda = db.PedidoVenda.Find(id);

            if (pedidoVenda == null)
            {
                return(HttpNotFound());
            }
            return(RedirectToAction("Index", "ItemVendas", id));
        }
示例#16
0
        public bool ExistePedido(Guid id)
        {
            PedidoVenda pedidoVenda = null;

            try
            {
                pedidoVenda = _context.Pedidos.Where(x => x.Id == id).FirstOrDefault();
                return(pedidoVenda != null);
            }
            catch (MySqlException ex)
            {
                throw new Exception(ex.Message);
            }
        }
示例#17
0
        // GET: PedidoVenda/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PedidoVenda pedidoVenda = db.PedidoVendas.Find(id);

            if (pedidoVenda == null)
            {
                return(HttpNotFound());
            }
            return(View(pedidoVenda));
        }
示例#18
0
        private void PagamentoPrazo(PedidoVenda pedido)
        {
            var contaReceberService = new ContaReceberService(db, configuration);

            try
            {
                db.ContaReceberTemp
                .Where(e => e.NumeroCI == pedido.Numero && e.Loja == pedido.Loja && e.RowDeleted != "T")
                .ToList()
                .ForEach(temp => {
                    ContaReceber cr = new ContaReceber
                    {
                        Cliente         = temp.Cliente,
                        DataEmissao     = temp.DataEmissao,
                        DataVencimento  = temp.DataVencimento,
                        Desconto        = 0,
                        FlagEntrada     = temp.FlagEntrada,
                        FlagPgto        = temp.FlagPgto,
                        Juros           = 0,
                        Loja            = temp.Loja,
                        NumeroCI        = temp.NumeroCI,
                        NumeroDocumento = temp.NumeroDocumento,
                        NumeroDuplicata = temp.NumeroDuplicata,
                        NumeroFatura    = string.Empty,
                        TipoVenda       = temp.TipoVenda,
                        ValorDuplicata  = temp.ValorDuplicata,
                        ValorFatura     = temp.ValorFatura
                    };

                    db.ContaReceber.Add(cr);
                    db.SaveChanges();

                    if (cr.FlagEntrada == "S")
                    {
                        contaReceberService.recebimentoTitulo(
                            cr.NumeroDuplicata, (DateTime)cr.DataEmissao, (double)cr.ValorDuplicata, string.Empty, cr.Loja,
                            (double)cr.Juros, (double)cr.Desconto, (short)cr.FlagPgto
                            );
                    }
                });

                ExcluiContaReceberTemp(pedido.Numero, pedido.Loja);
            }
            catch (Exception)
            {
                throw;
            }
        }
示例#19
0
        public async Task <int> Excluir(Guid id)
        {
            try
            {
                PedidoVenda pedidoVenda = null;
                pedidoVenda = await BuscarPorId(id);

                if (pedidoVenda != null)
                {
                    _context.Remove(pedidoVenda);
                }
                return(await SalvarCommit());
            }
            catch (MySqlException e)
            {
                throw new Exception(e.Message);
            }
        }
示例#20
0
        private PedidoVenda Montar(DataRow dataRow)
        {
            var result = new PedidoVenda
            {
                Id              = Convert.ToInt32(dataRow["Id"]),
                Criacao         = Convert.ToDateTime(dataRow["Criacao"]),
                Modificacao     = Convert.ToDateTime(dataRow["Modificacao"]),
                ClienteId       = Convert.ToInt32(dataRow["ClienteId"]),
                VendedorId      = Convert.ToInt32(dataRow["VendedorId"]),
                Status          = dataRow["Status"].ToString(),
                DataLiberacao   = dataRow["DataLiberacao"] == DBNull.Value ? null : (DateTime?)Convert.ToDateTime(dataRow["DataLiberacao"]),
                TotalProdutos   = Convert.ToDecimal(dataRow["TotalProdutos"]),
                QuantidadeItens = Convert.ToInt32(dataRow["QuantidadeItens"]),
                ValorDesconto   = Convert.ToDecimal(dataRow["ValorDesconto"]),
                ValorAcrescimo  = Convert.ToDecimal(dataRow["ValorAcrescimo"]),
                DataEntrega     = dataRow["DataEntrega"] == DBNull.Value ? null : (DateTime?)Convert.ToDateTime(dataRow["DataEntrega"])
            };

            return(result);
        }
示例#21
0
        public IHttpActionResult FazerPedido([FromBody] NovoPedidoVendaModel pedido)
        {
            PedidoVenda pedidoVenda;
            Cliente     cliente = RepositorioCliente.PorId(pedido.IdCliente);

            var pedidoBuilder = PedidoVenda.Novo()
                                .Cliente(cliente)
                                .EntregaEm(pedido.DataEntrega);

            foreach (var item in pedido.Itens)
            {
                Produto produto = RepositorioProduto.PorId(item.IdProduto);

                if (produto == null)
                {
                    return(BadRequest());
                }

                pedidoBuilder.CompraProduto(produto, item.Quantidade, item.Valor);
            }

            try
            {
                pedidoVenda = pedidoBuilder.Construir();
                RepositorioPedidoVenda.Adicionar(pedidoVenda);
            }
            catch (PedidoVendaException ex)
            {
                return(BadRequest(ex.Message));
            }

            return(CreatedAtRoute("DefaultApi", new { controller = "PedidoVenda", id = pedidoVenda.Id }, new CabecalhoPedidoModel()
            {
                Id = pedidoVenda.Id,
                Numero = pedidoVenda.Numero,
                RazaoCliente = pedidoVenda.Cliente.Nome,
                ValorTotal = pedidoVenda.ValorTotal
            }));
        }
示例#22
0
        public async Task <long> Salvar(Pedido pedido)
        {
            long idPedidoVenda = 0;

            try
            {
                var pedidoVendaRepository = _uow.PedidoVendaRepository.ObterPorIdPedido(pedido.IdPedido);

                if (pedidoVendaRepository != null)
                {
                    return(pedidoVendaRepository.IdPedidoVenda);
                }

                var pedidoVenda = new PedidoVenda()
                {
                    IdPedido            = pedido.IdPedido,
                    IdCliente           = pedido.IdCliente,
                    IdEmpresa           = pedido.IdEmpresa,
                    IdPedidoVendaStatus = PedidoVendaStatusEnum.PendenteSeparacao,
                    IdRepresentante     = pedido.IdRepresentante,
                    IdTransportadora    = pedido.IdTransportadora,
                    NroPedidoVenda      = pedido.NroPedido,
                    NroVolumes          = 0 //Inicialmente salva com 0. Posteriormente, o valor é atualizado.
                };

                _uow.PedidoVendaRepository.Add(pedidoVenda);

                await _uow.SaveChangesAsync();

                idPedidoVenda = pedidoVenda.IdPedidoVenda;
            }
            catch (Exception ex)
            {
                _log.Error(String.Format("Erro ao salvar o pedido de venda do pedido {0}.", pedido.IdPedido), ex);
            }

            return(idPedidoVenda);
        }
示例#23
0
        private void PagamentoVista(PedidoVenda pedido)
        {
            try
            {
                ContaReceber cr = new ContaReceber
                {
                    Cliente         = pedido.Cliente,
                    DataEmissao     = pedido.Data,
                    DataVencimento  = (DateTime)pedido.Data,
                    Desconto        = pedido.ValorDesconto,
                    FlagEntrada     = pedido.FlagEntrada,
                    FlagPgto        = StatusContaReceber.PENDENTE,
                    Juros           = Math.Round((double)pedido.ValorAcrescimo, 2),
                    Loja            = pedido.Loja,
                    NumeroCI        = pedido.Numero,
                    NumeroDocumento = pedido.NumeroDocumento,
                    NumeroDuplicata = pedido.Numero + "/0",
                    NumeroFatura    = string.Empty,
                    TipoVenda       = pedido.TipoVenda,
                    ValorDuplicata  = Math.Round((double)pedido.Total, 2),
                    ValorFatura     = Math.Round((double)pedido.Total, 2)
                };

                db.ContaReceber.Add(cr);
                db.SaveChanges();

                var contaReceberService = new ContaReceberService(db, configuration);

                contaReceberService.recebimentoTitulo(
                    cr.NumeroDuplicata, (DateTime)cr.DataEmissao, (double)cr.ValorDuplicata, string.Empty, cr.Loja,
                    (double)cr.Juros, (double)cr.Desconto, (short)cr.FlagPgto
                    );
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#24
0
        public int CriaContaReceberPeloPedido(string Numero, string Loja)
        {
            try
            {
                if (!existeRecebimento(Numero, Loja))
                {
                    excluiTitulos(Numero, Loja);

                    PedidoVenda pedido = db.PedidoVenda
                                         .Where(e => e.Numero == Numero && e.Loja == Loja && e.RowDeleted != "T").SingleOrDefault();

                    switch (pedido.TipoVenda)
                    {
                    case TipoVenda.VISTA:
                        PagamentoVista(pedido);
                        break;

                    case TipoVenda.CARTAO:
                        PagamentoCartao(pedido);
                        break;

                    default:
                        PagamentoPrazo(pedido);
                        break;
                    }

                    return(Status.OK);
                }
                else
                {
                    return(Status.PEDIDO_RECEBIDO);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#25
0
        public async Task <int> Editar(PedidoVenda pedido)
        {
            try
            {
                PedidoVenda pedidoVenda = await BuscarPorId(pedido.Id);

                var ItensDaTela  = pedido.ItemPedidos.ToList();
                var ItensDoBanco = pedidoVenda.ItemPedidos.ToList();

                var ItensParaRemover = ItensDoBanco.Where(itemBanco => !ItensDaTela.Exists(itemTela => itemTela.Id == itemBanco.Id)).ToList();
                if (ItensParaRemover.Count() > 0)
                {
                    foreach (var item in ItensParaRemover)
                    {
                        _context.ItemsPedidos.Remove(item);
                    }
                }

                var ItensParaAtualizar = ItensDoBanco.Where(itemBanco => ItensDaTela.Exists(itemTela => itemTela.Id == itemBanco.Id)).ToList();
                if (ItensParaAtualizar.Count() > 0)
                {
                    foreach (var item in ItensParaAtualizar)
                    {
                        ItensDaTela.ForEach(it =>
                        {
                            if (it.Id == item.Id)
                            {
                                item.Preco      = it.Preco;
                                item.Pedido     = it.Pedido;
                                item.Produto    = it.Produto;
                                item.SubTotal   = it.SubTotal;
                                item.IdPedido   = it.IdPedido;
                                item.IdProduto  = it.IdProduto;
                                item.Quantidade = it.Quantidade;
                                _context.ItemsPedidos.Update(item);
                            }
                        });
                    }
                }

                var ItensParaAdicionar = ItensDaTela.Where(itemTela => !ItensDoBanco.Exists(itemBanco => itemBanco.Id == itemTela.Id)).ToList();
                if (ItensParaAdicionar.Count() > 0)
                {
                    foreach (var item in ItensParaAdicionar)
                    {
                        await _context.ItemsPedidos.AddAsync(item);
                    }
                }


                pedidoVenda.Id          = pedido.Id;
                pedidoVenda.DataVenda   = pedido.DataVenda;
                pedidoVenda.IdCliente   = pedido.IdCliente;
                pedidoVenda.ItemPedidos = pedido.ItemPedidos;
                pedidoVenda.ValorTotal  = pedido.ValorTotal;

                _context.Entry(pedidoVenda).State = EntityState.Modified;
                _context.Pedidos.Update(pedidoVenda);
                return(await SalvarCommit());
            }
            catch (MySqlException e)
            {
                throw new Exception(e.Message);
            }
        }
示例#26
0
 internal static string ImprimirPedido(PedidoVenda pedidoVenda)
 {
     return($"Cliente: {pedidoVenda.NomeCliente} Vendedor: {pedidoVenda.NomeVendedor}" +
            $" Endereço: {pedidoVenda.Endereco} Total R$: {pedidoVenda.ValorTotal}");
 }
示例#27
0
        private void PagamentoCartao(PedidoVenda pedido)
        {
            try
            {
                var parcelas   = pedido.Parcelas;
                var valorTotal = pedido.Total;
                var parcela    = 1;

                if (pedido.FlagEntrada == "S")
                {
                    parcelas--;
                    valorTotal -= pedido.ValorEntrada;

                    ContaReceber cr = new ContaReceber
                    {
                        Cliente         = pedido.Cliente,
                        DataEmissao     = pedido.Data,
                        DataVencimento  = (DateTime)pedido.Data,
                        Desconto        = 0,
                        FlagEntrada     = pedido.FlagEntrada,
                        FlagPgto        = StatusContaReceber.PAGO,
                        Juros           = 0,
                        Loja            = pedido.Loja,
                        NumeroCI        = pedido.Numero,
                        NumeroDocumento = pedido.NumeroDocumento,
                        NumeroDuplicata = pedido.Numero + "/0",
                        NumeroFatura    = string.Empty,
                        TipoVenda       = TipoVenda.VISTA,
                        ValorDuplicata  = Math.Round((double)pedido.ValorEntrada, 2),
                        ValorFatura     = Math.Round((double)pedido.Total, 2)
                    };

                    db.ContaReceber.Add(cr);
                    db.SaveChanges();

                    var contaReceberService = new ContaReceberService(db, configuration);

                    contaReceberService.recebimentoTitulo(
                        cr.NumeroDuplicata, (DateTime)cr.DataEmissao, (double)cr.ValorDuplicata, string.Empty, cr.Loja,
                        (double)cr.Juros, (double)cr.Desconto, (short)cr.FlagPgto
                        );
                }

                if (parcelas > 0)
                {
                    var valorParcela = valorTotal / parcelas;

                    var plano      = db.Operadoras.Where(e => e.RowId == pedido.OperadoraId && e.RowDeleted != "T").Single();
                    var taxaCartao = plano.Taxa;
                    var clienteId  = plano.Admin;
                    var intervalo  = plano.TipoVencimento;

                    var vencimento    = ((DateTime)pedido.Data).AddDays(intervalo);
                    var valorDesconto = (valorParcela / 100) * taxaCartao;

                    for (; parcela <= parcelas; parcela++)
                    {
                        ContaReceber cr = new ContaReceber
                        {
                            Cliente         = clienteId,
                            DataVencimento  = vencimento,
                            Desconto        = Math.Round((double)valorDesconto, 2),
                            FlagEntrada     = "N",
                            FlagPgto        = StatusContaReceber.PENDENTE,
                            Juros           = 0d,
                            Loja            = pedido.Loja,
                            NumeroCI        = pedido.Numero,
                            NumeroDocumento = pedido.NumeroDocumento,
                            NumeroDuplicata = pedido.Numero + "/" + parcela.ToString(),
                            NumeroFatura    = string.Empty,
                            TipoVenda       = pedido.TipoVenda,
                            ValorDuplicata  = Math.Round((double)valorParcela, 2),
                            ValorFatura     = Math.Round((double)pedido.Total, 2)
                        };

                        db.ContaReceber.Add(cr);

                        vencimento = vencimento.AddDays(intervalo);
                    }

                    db.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
 public void AdicionarPedido(PedidoVenda pedidoVenda)
 {
     _lista.Add(pedidoVenda);
 }
 public void RemoverPedido(PedidoVenda pedidoVenda)
 {
     _lista.Remove(pedidoVenda);
 }
示例#30
0
        protected override void Seed(VendasContext context)
        {
            var produtos = new Produto[]
            {
                new Produto()
                {
                    Descricao = "Smart TV LG 42\"", Valor = 2100
                },
                new Produto()
                {
                    Descricao = "Notebook Dell Vostro 3550", Valor = 2750
                },
                new Produto()
                {
                    Descricao = "ZenFone 2 16GB", Valor = 1250
                },
                new Produto()
                {
                    Descricao = "Livro .Net Core Resumão", Valor = 250
                },
                new Produto()
                {
                    Descricao = "Mouse Logitech sem fio", Valor = 50
                },
                new Produto()
                {
                    Descricao = "MousePad cor sólida", Valor = 2.5m
                },
                new Produto()
                {
                    Descricao = "Caneca linguagens - branco ou preto", Valor = 12
                },
                new Produto()
                {
                    Descricao = "Teclado Microsoft Wired 800", Valor = 131
                },
                new Produto()
                {
                    Descricao = "Impressora HP Deskjet Ink Advantage", Valor = 199.99m
                },
            };
            var clientes = new Cliente[]
            {
                new Cliente()
                {
                    Cpf = "98262100565", Nome = "Denis Bittencourt"
                },
                new Cliente()
                {
                    Cpf = "61202277764", Nome = "Diego Muniz"
                },
                new Cliente()
                {
                    Cpf = "26361532410", Nome = "Dinorah Gabriel"
                },
                new Cliente()
                {
                    Cpf = "78179211800", Nome = "Ronaldo Beraldo"
                }
            };

            // CONSUMIDOR GENERICO, sempre ID 1
            context.Clientes.Add(Cliente.ConsumidorGenerico);
            context.SaveChanges();

            context.Produtos.AddRange(produtos);
            context.Clientes.AddRange(clientes);

            var pedidoVenda1 = PedidoVenda.Novo()
                               .Cliente(clientes[0])
                               .EntregaEm(new DateTime(2020, 11, 30))
                               .CompraProduto(produtos[2], 2, 1250)
                               .CompraProduto(produtos[1], 1, 2500)
                               .Construir();

            pedidoVenda1.Numero = 1;

            var pedidoVenda2 = PedidoVenda.Novo()
                               .Cliente(clientes[1])
                               .EntregaEm(new DateTime(2020, 12, 29))
                               .CompraProduto(produtos[0], 1, 2000)
                               .CompraProduto(produtos[4], 1, 50)
                               .Construir();

            pedidoVenda2.Numero = 2;

            context.PedidosVenda.AddRange(new PedidoVenda[]
            {
                pedidoVenda1, pedidoVenda2
            });

            context.SaveChanges();
        }