public ActionResult Create(LoteViewModel model) { LoteDAO loteDAO = new LoteDAO(); if (ModelState.IsValid && model.DescricaoLote != "" && model.DescricaoLote != null && model.QuantidadeProduto > 0) { Lote lote = new Lote { DescricaoLote = model.DescricaoLote, Estoque_CodigoEstoque = (int)model.SelectItemEstoqueId, Produto_CodigoProduto = (int)model.SelectItemProdutoId, QuantidadeProduto = model.QuantidadeProduto, ValidadeLote = model.ValidadeLote, }; loteDAO.Salva(lote); return(RedirectToAction("Index", "Lote")); } else { ModelState.AddModelError("", "Quantidade invalida"); return(View("ErroQuantidade")); } }
public ActionResult Create() { EstoqueController estoqueController = new EstoqueController(); ProdutoController produtoController = new ProdutoController(); var model = new LoteViewModel() { Produtos = produtoController.GetProdutos(), Estoques = estoqueController.GetEstoque(), }; return(View(model)); }
public ActionResult BaixaLote(int codigoLote) { LoteDAO dao = new LoteDAO(); var lote = dao.GetById(codigoLote); var model = new LoteViewModel() { CodigoLote = codigoLote, DescricaoLote = lote.DescricaoLote, QuantidadeProduto = lote.QuantidadeProduto, ValidadeLote = lote.ValidadeLote, }; return(View(model)); }
public ActionResult Consultar(int codigoLote) { var dao = new LoteDAO(); var lote = dao.GetById(codigoLote); var daoEstoque = new EstoqueDAO(); var estoque = daoEstoque.GetById(lote.Estoque_CodigoEstoque); var produtoDao = new ProdutoDAO(); var produto = produtoDao.GetById(lote.Produto_CodigoProduto); var model = new LoteViewModel() { CodigoLote = lote.CodigoLote, DescricaoLote = lote.DescricaoLote, QuantidadeProduto = lote.QuantidadeProduto, Estoque = estoque, Produto = produto, ValidadeLote = lote.ValidadeLote, }; return(View(model)); }
public ActionResult BaixaLote(LoteViewModel model, int codigoLote) { var loteDAO = new LoteDAO(); var loteAtual = loteDAO.GetById(codigoLote); if (model.QuantidadeBaixa > loteAtual.QuantidadeProduto) { ModelState.AddModelError("", "Quantidade invalida"); return(View("ErroQuantidade")); } else { var lote = new Lote() { CodigoLote = loteAtual.CodigoLote, QuantidadeProduto = (loteAtual.QuantidadeProduto - model.QuantidadeBaixa), //Subtraindo a quantidade atual. }; loteDAO.Update(lote); var baixaDAO = new BaixaDAO(); var baixa = new Baixa() { DataBaixa = DateTime.Now, Lote_CodigoLote = loteAtual.CodigoLote, Produto_CodigoProduto = loteAtual.Produto_CodigoProduto, QuantidadeBaixa = model.QuantidadeBaixa, }; baixaDAO.Salva(baixa); return(RedirectToAction("Index")); } }
public ActionResult Adiciona(LoteViewModel model) { LoteDAO loteDAO = new LoteDAO(); if (ModelState.IsValid) { Lote lote = new Lote { DescricaoLote = model.DescricaoLote, Estoque_CodigoEstoque = model.Estoque.CodigoEstoque, Produto_CodigoProduto = model.Produto.CodigoProduto, QuantidadeProduto = model.QuantidadeProduto, ValidadeLote = model.ValidadeLote, }; loteDAO.Salva(lote); return(RedirectToAction("Index", "Lote")); } else { return(View("FormularioLote")); } }
public LoteViewModel VerificaSituacaoLote() { var loteDAO = new LoteDAO(); var baixaDAO = new BaixaDAO(); var listabaixa = baixaDAO.GetAll(); var loteAtual = loteDAO.GetAll(); var produtoDAO = new ProdutoDAO(); var listaProduto = produtoDAO.GetAll(); var baixaTotal = 0; HashSet <string> lista = new HashSet <string>(); var texto = ""; foreach (var aux in loteAtual) { var lotemesatual = loteDAO.GetAll().Where(x => x.ValidadeLote.Month == DateTime.Now.Month && x.Produto_CodigoProduto == aux.Produto_CodigoProduto).Sum(x => x.QuantidadeProduto); var baixaprodmes1 = baixaDAO.GetAll().Where(x => x.DataBaixa.Month == (DateTime.Now.Month - 1) && x.Produto_CodigoProduto == aux.Produto_CodigoProduto).Sum(x => x.QuantidadeBaixa); var baixaprodmes2 = baixaDAO.GetAll().Where(x => x.DataBaixa.Month == (DateTime.Now.Month - 2) && x.Produto_CodigoProduto == aux.Produto_CodigoProduto).Sum(x => x.QuantidadeBaixa); var baixaprodmes3 = baixaDAO.GetAll().Where(x => x.DataBaixa.Month == (DateTime.Now.Month - 3) && x.Produto_CodigoProduto == aux.Produto_CodigoProduto).Sum(x => x.QuantidadeBaixa); var nomeproduto = produtoDAO.GetById(aux.Produto_CodigoProduto); var diasrestantes = aux.ValidadeLote.Day - DateTime.Now.Day; if (baixaprodmes1 > 0 && baixaprodmes2 > 0 && baixaprodmes3 > 0) // 3 meses { baixaTotal = ((baixaprodmes1 + baixaprodmes2 + baixaprodmes3) / 3); } else if (baixaprodmes1 == 0 && baixaprodmes2 > 0 && baixaprodmes3 > 0) // 2 e 3 meses { baixaTotal = (baixaprodmes2 + baixaprodmes3) / 2; } else if (baixaprodmes2 == 0 && baixaprodmes1 > 0 && baixaprodmes3 > 0) //1 e 3 meses { baixaTotal = (baixaprodmes1 + baixaprodmes3) / 2; } else if (baixaprodmes3 == 0 && baixaprodmes1 > 0 && baixaprodmes2 > 0) // 1 e 2 { baixaTotal = (baixaprodmes1 + baixaprodmes2) / 2; } else if (baixaprodmes2 == 0 && baixaprodmes3 == 0 && baixaprodmes1 > 0) { baixaTotal = baixaprodmes1; } else if (baixaprodmes1 == 0 && baixaprodmes3 == 0 && baixaprodmes2 > 0) { baixaTotal = baixaprodmes2; } else if (baixaprodmes2 == 0 && baixaprodmes1 == 0 && baixaprodmes3 > 0) { baixaTotal = baixaprodmes3; } else { baixaTotal = 0; } //Verificação do warning de baixas if (lotemesatual > baixaTotal && baixaTotal > 0) //&& diasrestantes < 16) { var diferençaresultado = lotemesatual - baixaTotal; var resultadoporcentagem = (float)((diferençaresultado * 100) / lotemesatual); texto = "Ops, você não conseguira vender: " + resultadoporcentagem + " % do seu estoque de " + nomeproduto.NomeProduto + ", faça uma promoção!"; lista.Add(texto); } else { ViewBag.Mensagem = ""; } } var model = new LoteViewModel() { ListaAlerta = lista, }; return(model); }