public List <CompraProduto> CalcularValorRatiado(List <ProdutoDTO> produtos, decimal?frete, decimal?seguro, decimal?outros) { var result = new List <CompraProduto>(produtos.Count); var totalProduto = produtos.Sum(e => e.ValorUnitario * e.Quantidade); var totalCusto = (frete ?? 0) + (seguro ?? 0) + (outros ?? 0); foreach (var produto in produtos) { var percentualProd = (produto.Quantidade * produto.ValorUnitario) / totalProduto; var custoProd = percentualProd * totalCusto; var custoUnitario = produto.ValorUnitario + (custoProd / produto.Quantidade); var prodCompra = new CompraProduto() { ProdutoId = produto.Produto.Id, Produto = produto.Produto, ValorUnitario = produto.ValorUnitario, Desconto = produto.Desconto, Quantidade = produto.Quantidade, IPI = produto.IPI, CustoUnitario = custoUnitario, }; result.Add(prodCompra); } return(result); }
public ActionResult Index(FormCollection collection) { if (Session["idCompra"] != null) { // compra em curso // vou adicionar o produto À compra existente var idProduto = collection["idProduto"]; var quantidade = collection["quantidade"]; var idCompra = Session["idCompra"].ToString(); CompraProduto cp = new CompraProduto(); cp.IDCompra = Int32.Parse(idCompra); cp.IDProduto = Int32.Parse(idProduto); cp.Quantidade = Int32.Parse(quantidade); db.ComprasProduto.Add(cp); db.SaveChanges(); int auxIdCompra = int.Parse(Session["idCompra"].ToString()); ICollection <CompraProduto> x = db.ComprasProduto.Where(i => i.IDCompra == auxIdCompra).ToList(); ViewBag.ListaProdutosNaCompra = x; } else { // vou criar uma compra Compra c = new Compra(); c.DataDaCompra = DateTime.Now; c.ApplicationUser = db.Users.Find(User.Identity.GetUserId()); db.Compra.Add(c); db.SaveChanges(); // vou adicionar o produto seleccionado à compra var idProduto = collection["idProduto"]; var quantidade = collection["quantidade"]; var idCompra = c.IDCompra; CompraProduto cp = new CompraProduto(); cp.IDCompra = idCompra; cp.IDProduto = Int32.Parse(idProduto); cp.Quantidade = Int32.Parse(quantidade); db.ComprasProduto.Add(cp); db.SaveChanges(); // vou definir a variavel de sessão com o id da compra Session["idCompra"] = c.IDCompra; int auxIdCompra = int.Parse(Session["idCompra"].ToString()); ICollection <CompraProduto> x = db.ComprasProduto.Where(i => i.IDCompra == auxIdCompra).ToList(); ViewBag.ListaProdutosNaCompra = x; } return(View(db.Produto.ToList())); }
/* O método ExecuteProcedure é o metodo encapsulado para montar os * comandos que serão executados no banco, o método encapsulado * AddPaarmeter adiciona os parametros que são pedidos nas * procedures e para finalizar o método ExecuteNonQuery executa procedures * que não retornam valores */ public void InserirCompraProduto(CompraProduto compraProduto) { ExecuteProcedure(Procedures.CSSP_InsCompraProduto); AddParameter("@IdProduto", compraProduto.Produto.IdProduto); AddParameter("@IdCompra", compraProduto.IdCompra); AddParameter("@QtdeProduto", compraProduto.QtdeCompra); ExecuteNonQuery(); }
public int Inserir(CompraProduto compraProduto) { compraProduto.DataCriacao = DateTime.Now; compraProduto.RegistroAtivo = true; context.ComprasProdutos.Add(compraProduto); context.SaveChanges(); return(compraProduto.Id); }
public ActionResult DeleteConfirmed(int id) { CompraProduto compraProduto = db.ComprasProduto.Find(id); db.ComprasProduto.Remove(compraProduto); db.SaveChanges(); return(RedirectToAction("Index")); }
private void ValidarPrecoProduto(CompraProduto compraProduto, Produto produto) { if (produto.ValorCompra > compraProduto.ValorUnitario) { return; } produto.AtualizarValorCompra(compraProduto.ValorUnitario); }
private int verificaLista(List <CompraProduto> lista, CompraProduto cp) { for (int i = 0; i < lista.Count; i++) { if (lista.ElementAt(i).Produto.CodigoProduto == cp.Produto.CodigoProduto) { return(i); } } return(-1); }
public bool Apagar(int id) { CompraProduto compraProduto = (from x in context.ComprasProdutos where x.Id == id select x).FirstOrDefault(); if (compraProduto == null) { return(false); } compraProduto.RegistroAtivo = false; return(context.SaveChanges() == 1); }
public JsonResult ModificarQuantidade(CompraProduto compraProduto) { if (compraProduto.Quantidade < 1) { compraProduto.Quantidade = 1; } var resultado = compraProdutoRepository.Atualizar(compraProduto); return(Json(resultado)); }
private void btnEntrarClick(object sender, RoutedEventArgs e) { MainWindow main = (MainWindow)DataContext; int compraId = int.Parse(main.valueCompra.Content.ToString()); string login = tbLogin.Text; string senha = tbSenha.Password; CompraProdutosViewModel rowdata = (CompraProdutosViewModel)main.dgCompraProdutos.SelectedItem; var db = new PadariaContext(); try { var registro = db.Usuarios.Where(x => x.Login == login && x.Senha == senha).First(); if (registro != null) { if (registro.isAdministrador == true) { CompraProduto compraProduto = db.CompraProdutos.Find(rowdata.CompraProdutoId); db.CompraProdutos.Remove(compraProduto); db.SaveChanges(); var CompraProdutos = db.CompraProdutos.Where(x => x.CompraId == compraId).ToList(); List <CompraProdutosViewModel> listViewModel = new List <CompraProdutosViewModel>(); foreach (var cp in CompraProdutos) { var Produto = db.Produtos.Where(x => x.ProdutoId == cp.ProdutoId).First(); CompraProdutosViewModel viewModel = new CompraProdutosViewModel(); viewModel.CompraProdutoId = cp.CompraProdutoId; viewModel.CodigoBarra = Produto.CodigoBarra; viewModel.Nome = Produto.Nome; viewModel.Preco = Produto.Preco; viewModel.QuantidadeProduto = cp.QuantidadeProduto; viewModel.ValorTotal = cp.ValorTotal; listViewModel.Add(viewModel); } main.valuePrecoTotal.Content = listViewModel.Sum(item => item.ValorTotal); main.dgCompraProdutos.ItemsSource = listViewModel; main.txStatus.Text = "Produto Removido!"; Close(); } else { MessageBox.Show("Usuário fornecido não é um Administrador!", "Status Autenticação"); } } } catch { MessageBox.Show("Usuário não encontrado!", "Status Autenticação"); } }
public ActionResult Edit([Bind(Include = "IDCompraProduto,IDCompra,IDProduto,Quantidade")] CompraProduto compraProduto) { if (ModelState.IsValid) { db.Entry(compraProduto).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.IDCompra = new SelectList(db.Compra, "IDCompra", "IDCompra", compraProduto.IDCompra); ViewBag.IDProduto = new SelectList(db.Produto, "IDProduto", "Nome", compraProduto.IDProduto); return(View(compraProduto)); }
// GET: CompraProdutoes/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CompraProduto compraProduto = db.ComprasProduto.Find(id); if (compraProduto == null) { return(HttpNotFound()); } return(View(compraProduto)); }
public JsonResult ObterPeloId(int id) { CompraProduto compra = compraProdutoRepository.ObterPeloId(id); if (compra.Bebida != null) { compra.ValorTotal = compra.Quantidade * compra.Bebida.Valor; } else if (compra.Acessorio != null) { compra.ValorTotal = compra.Quantidade * compra.Acessorio.Preco; } return(Json(compra, JsonRequestBehavior.AllowGet)); }
// GET: CompraProdutoes/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CompraProduto compraProduto = db.ComprasProduto.Find(id); if (compraProduto == null) { return(HttpNotFound()); } ViewBag.IDCompra = new SelectList(db.Compra, "IDCompra", "IDCompra", compraProduto.IDCompra); ViewBag.IDProduto = new SelectList(db.Produto, "IDProduto", "Nome", compraProduto.IDProduto); return(View(compraProduto)); }
public bool Atualizar(CompraProduto compraProduto) { CompraProduto compraProdutoOriginal = (from x in context.ComprasProdutos where x.Id == compraProduto.Id select x).FirstOrDefault(); if (compraProdutoOriginal == null) { return(false); } compraProdutoOriginal.Id = compraProduto.Id; compraProdutoOriginal.IdBebida = compraProduto.IdBebida; compraProdutoOriginal.IdAcessorio = compraProduto.IdAcessorio; compraProdutoOriginal.Quantidade = compraProduto.Quantidade; context.SaveChanges(); return(true); }
public void Devolver(List <DevolucaoCompra> devolucaoCompra) { Parallel.ForEach(devolucaoCompra, async t => { EstoqueProduto estoqueProduto = await _estoqueProdutoService.GetEstoqueProdutoByProdutoIdAsync(t.ProdutoId); CompraProduto compProd = new CompraProduto(); compProd = (t.CompraProduto is null) ? await _compraProdutoService.GetByIdAsync(t.CompraProdutoId) : t.CompraProduto; estoqueProduto.QuantidadeProduto = estoqueProduto.QuantidadeProduto - compProd.QuantidadeComprada; SaidaProdutoEstoque saidaProdutoEstoque = new SaidaProdutoEstoque(t.ProdutoId, estoqueProduto.EstoqueId, compProd.QuantidadeComprada); _saidaProdutoEstoqueService.AddAsync(saidaProdutoEstoque); AddAsync(t); }); }
public ActionResult AdicionarCompra(int id, int quantidade) { Usuario usuario = new Usuario(); if (Session["usuarioLogado"] != null) { usuario = Session["usuarioLogado"] as Usuario; } Compra compra = _homeContext.Compras.Where(x => x.Status == Types.StatusCompra.Aberto && x.UsuarioId == usuario.Id).FirstOrDefault(); if (compra == null) { compra = new Compra(); compra.UsuarioId = usuario.Id; compra.Status = Types.StatusCompra.Aberto; compra.Data = DateTime.Now; CompraProduto item = new CompraProduto(); item.ProdutoId = id; item.Quantidade = quantidade; base._homeContext.Compras.Add(compra); item.CompraId = compra.Id; base._homeContext.CompraProdutos.Add(item); base._homeContext.SaveChanges(); } else { CompraProduto item = base._homeContext.CompraProdutos.FirstOrDefault(c => c.ProdutoId == id && c.CompraId == compra.Id); if (item == null) { item = new CompraProduto() { CompraId = compra.Id, ProdutoId = id }; base._homeContext.CompraProdutos.Add(item); } item.Quantidade++; base._homeContext.SaveChanges(); } return(RedirectToAction("Compra", "Carrinho")); }
private void btnIncluirProduto_Click(object sender, EventArgs e) { ProdutoController pc = new ProdutoController(); ProdutoDAO pd = new ProdutoDAO(); DataTable dtproduto = pc.retornaProduto(ttbProduto.Text.Trim()); DataRow dr = dtproduto.Rows[0]; Produto p = new Produto(); p.CodigoProduto = Convert.ToInt32(dr["codproduto"]); p.Custo = Convert.ToDouble(dr["prod_precocusto"]); p.NomeProduto = dr["prod_produto"].ToString(); p.Venda = Convert.ToDouble(dr["prod_precovenda"]); p.Quantidade = Convert.ToInt32(dr["prod_qtde"]); p.Observacao = dr["prod_obs"].ToString(); p.Marca = pd.retornaMarca(Convert.ToInt32(dr["codmarca"])); p.Categoria = pd.retornaCateria(Convert.ToInt32(dr["codcategoria"])); CompraProduto cp = new CompraProduto(); cp.Produto = p; cp.Qtde = Convert.ToInt32(ttbQuantidade.Text); double custo = 0; double.TryParse(mskCusto.Text, out custo); cp.Valor = custo; int v = verificaLista(lista, cp); if (v >= 0) { lista.ElementAt(v).Qtde += cp.Qtde; } else { lista.Add(cp); } carregaDGV(lista); somavalor(); ttbProduto.Clear(); ttbQuantidade.Clear(); mskCusto.Clear(); mskVenda.Clear(); }
public ActionResult RemoverItem(int id) { Usuario usuario = new Usuario(); if (Session["usuarioLogado"] != null) { usuario = Session["usuarioLogado"] as Usuario; } Compra compra = _homeContext.Compras.Where(x => x.Status == Types.StatusCompra.Aberto && x.UsuarioId == usuario.Id).FirstOrDefault(); if (compra == null) { return(RedirectToAction("Catalogo", "Loja")); } CompraProduto item = this._homeContext.CompraProdutos.FirstOrDefault(c => c.Id == id); _homeContext.CompraProdutos.Remove(item); _homeContext.SaveChanges(); return(RedirectToAction("Compra", "Carrinho")); }
public ActionResult Store(int IdBebida) { var cliente = (Cliente)Session["Cliente"]; var compra = repositoryCompra.ObterCompraPeloIdCliente(cliente.Id); if (compra == null) { compra = new Compra() { IdCliente = cliente.Id, RegistroAtivo = true, Total = 0, DataCriacao = DateTime.Now, DataCompra = DateTime.Now, }; repositoryCompra.Inserir(compra); } var _compraProduto = repository.ObterPeloIdBebida(IdBebida); if (_compraProduto != null) { _compraProduto.Quantidade++; repository.Atualizar(_compraProduto); return(RedirectToAction("Index", "Home")); } var compraProduto = new CompraProduto() { IdBebida = IdBebida, IdCompra = compra.Id, DataCriacao = DateTime.Now, RegistroAtivo = true, Quantidade = 1 }; repository.Inserir(compraProduto); return(RedirectToAction("Index", "Home")); }
private void btnAdicionarProdutoClick(object sender, RoutedEventArgs e) { MainWindow main = (MainWindow)DataContext; int produtoId = int.Parse(txAdicionarProduto.Text); int compraId = int.Parse(main.valueCompra.Content.ToString()); int quantidade = int.Parse(txQuantidade.Text); var db = new PadariaContext(); Produto novoProduto = db.Produtos.Where(x => x.ProdutoId == produtoId).First(); //adiciona no banco o novo registro de compraproduto CompraProduto compraProduto = new CompraProduto(); compraProduto.QuantidadeProduto = quantidade; compraProduto.ValorTotal = quantidade * novoProduto.Preco; compraProduto.CompraId = compraId; compraProduto.ProdutoId = produtoId; db.CompraProdutos.Add(compraProduto); db.SaveChanges(); var CompraProdutos = db.CompraProdutos.Where(x => x.CompraId == compraId).ToList(); List <CompraProdutosViewModel> listViewModel = new List <CompraProdutosViewModel>(); foreach (var cp in CompraProdutos) { var Produto = db.Produtos.Where(x => x.ProdutoId == cp.ProdutoId).First(); CompraProdutosViewModel viewModel = new CompraProdutosViewModel(); viewModel.CompraProdutoId = cp.CompraProdutoId; viewModel.CodigoBarra = Produto.CodigoBarra; viewModel.Nome = Produto.Nome; viewModel.Preco = Produto.Preco; viewModel.QuantidadeProduto = cp.QuantidadeProduto; viewModel.ValorTotal = cp.ValorTotal; listViewModel.Add(viewModel); } main.valuePrecoTotal.Content = listViewModel.Sum(item => item.ValorTotal); main.dgCompraProdutos.ItemsSource = listViewModel; }
private async Task <Produto> ObterProduto(CompraProduto compraProduto) { return(await _produtoRepository.ObterPorId(compraProduto.ProdutoId)); }
private void AtualizarEstoque(CompraProduto compraProduto, Produto produto) { produto.IncrementarEstoque(compraProduto.Quantidade); }