private void Registrar(object sender, RoutedEventArgs e) { try { Lote Lote = new Lote(); Lote.DataDeFabricacao = DataDeFabricacao.SelectedDate.Value; Lote.DataDeVencimento = DataDeVencimento.SelectedDate.Value; Lote.Corredor = Corredor.SelectionBoxItem.ToString(); Lote.Secao = Secao.SelectionBoxItem.ToString(); Lote.Gaveta = Gaveta.SelectionBoxItem.ToString(); Lote.Endereco = EnderecoDAO.GetEnderecoPorDescricao(Endereco.SelectionBoxItem.ToString()); Lote.Produto = ProdutoDAO.GetProdutoPorNome(Produto.SelectionBoxItem.ToString()); Lote.QuantidadeDeProdutos = Convert.ToInt32(QuantidadeDeProdutos.Text); if (LoteDAO.ValidarGaveta(Lote.Gaveta, Lote.Corredor, Lote.Secao)) { MessageBox.Show("Esta gaveta já esta ocupada.", "Registrar entrada de lote"); } else if (LoteController.CadastrarEntradaDeLote(Lote)) { MessageBox.Show("Lote Cadastrado com sucesso!", "Registrar saída de lote"); } else { MessageBox.Show("Por favor informe valores válidos", "Registrar entrada de lote"); } } catch (Exception) { MessageBox.Show("Por favor informe valores válidos", "Registrar entrada de lote"); } }
private void BtnRegistrar(object sender, RoutedEventArgs e) { int IdLote = 0; try { IdLote = Convert.ToInt32(NumeroLote.Text); if (LoteDAO.ValidarSaidaLote(IdLote)) { Lote Lote = new Lote(); Lote = LoteDAO.BuscarLote(IdLote); LoteController.CadastrarSaidaDeLote(Lote); MessageBox.Show("Lote retirado com sucesso!", "Registrar saída de lote"); } else { MessageBox.Show("Por favor informe um número de lote que esteja em estoque.", "Registrar saída de lote"); } } catch (Exception) { MessageBox.Show("Por favor informe um número válido", "Registrar saída de lote"); } }
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")); } }
// GET: Lote public ActionResult Index() { LoteDAO loteDAO = new LoteDAO(); var listaLote = loteDAO.GetAll(); ViewBag.Lotes = listaLote; return(View()); }
public GerenciadorDB() { usuarioDAO = new UsuarioDAO(db, db.Usuario); leilaoDAO = new LeilaoDAO(db, db.Leilao); loteDAO = new LoteDAO(db, db.Lote); lanceDAO = new LanceDAO(db, db.Lance); loteBemDAO = new LoteBemDAO(db, db.LoteBem); }
private void dataGrid_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) { if (e.RowIndex >= 0) { DataGridViewRow row = this.dataGrid.Rows[e.RowIndex]; objLote = LoteDAO.findById((int)row.Cells["dataGridViewTextBoxColumn1"].Value); nomeLote.Text = "Lote " + objLote.Id + " " + objLote.Codigo; nuRetirar.Value = objLote.Qtd_estoque; } }
public IEnumerable <SelectListItem> GetLotes() { var dao = new LoteDAO(); var lotes = dao.GetAll() .Select(x => new SelectListItem { Value = x.CodigoLote.ToString(), Text = x.DescricaoLote, }); return(new SelectList(lotes, "Value", "Text")); }
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 FormularioLote() { LoteDAO loteDAO = new LoteDAO(); var listaLote = loteDAO.GetAll(); EstoqueDAO estoqueDAO = new EstoqueDAO(); var listaEstoque = estoqueDAO.GetAll(); ProdutoDAO produtoDAO = new ProdutoDAO(); var listaProduto = produtoDAO.GetAll(); ViewBag.Lotes = listaLote; ViewBag.Estoques = listaEstoque; ViewBag.Produtos = listaProduto; return(View()); }
private void btnRetirar_Click(object sender, EventArgs e) { MovimentacoesController controller = new MovimentacoesController(); objLote.Qtd_estoque = (int)nuRetirar.Value; LoteDAO dao = new LoteDAO(); if (controller.CadastrarLote(objLote)) { MessageBox.Show("Retirado!!"); dataGrid.DataSource = LoteDAO.returnDataSource(); } else { MessageBox.Show("Erro!!"); } }
public JsonResult VerificaSituacaoEstoque() { var loteDAO = new LoteDAO(); var baixaDAO = new BaixaDAO(); var listabaixa = baixaDAO.GetAll(); var loteAtual = loteDAO.GetAll(); var produtoDAO = new ProdutoDAO(); var listaProduto = produtoDAO.GetAll(); HashSet <VerificaSituacaoEstoqueViewModel> lista = new HashSet <VerificaSituacaoEstoqueViewModel>(); var texto = ""; foreach (var aux in listaProduto) { var produtoemestoque = loteDAO.GetAll().Where(x => x.Produto_CodigoProduto == aux.CodigoProduto).Sum(x => x.QuantidadeProduto); var produtobaixado = baixaDAO.GetAll().Where(x => x.DataBaixa.Month == (DateTime.Now.Month) && x.Produto_CodigoProduto == aux.CodigoProduto).Sum(x => x.QuantidadeBaixa); var produtogeral = produtoemestoque + produtobaixado; var baixamenos1 = baixaDAO.GetAll().Where(x => x.DataBaixa.Month == (DateTime.Now.Month - 1) && x.Produto_CodigoProduto == aux.CodigoProduto).Sum(x => x.QuantidadeBaixa); var baixamenos2 = baixaDAO.GetAll().Where(x => x.DataBaixa.Month == (DateTime.Now.Month - 2) && x.Produto_CodigoProduto == aux.CodigoProduto).Sum(x => x.QuantidadeBaixa); var baixamenos3 = baixaDAO.GetAll().Where(x => x.DataBaixa.Month == (DateTime.Now.Month - 3) && x.Produto_CodigoProduto == aux.CodigoProduto).Sum(x => x.QuantidadeBaixa); var nomeproduto = produtoDAO.GetById(aux.CodigoProduto); var mediabaixa = (baixamenos1 + baixamenos2 + baixamenos3) / 3; if (mediabaixa > produtogeral) { var produtofalta = mediabaixa - produtogeral; texto = "Seu estoque ficará em falta de: " + produtofalta + " do produto " + nomeproduto.NomeProduto + " "; lista.Add(new VerificaSituacaoEstoqueViewModel() { NomeProduto = nomeproduto.NomeProduto, EstoqueAtual = produtogeral, MediaBaixa = mediabaixa, }); } else { ViewBag.Mensagem = ""; } } var js = new JavaScriptSerializer(); var json = js.Serialize(lista); return(Json(json, JsonRequestBehavior.AllowGet)); }
public JsonResult RetornaRankingBaixas() { //Retorna Grafico de Colunas //Esse grafico retorna a quantidade de produtos totais. ProdutoDAO produtoDAO = new ProdutoDAO(); var listaProduto = produtoDAO.GetAll(); LoteDAO loteDAO = new LoteDAO(); var listaLote = loteDAO.GetAll(); BaixaDAO baixaDAO = new BaixaDAO(); var listaBaixa = baixaDAO.GetAll(); var resultQuery = from b in listaBaixa join p in listaProduto on b.Produto_CodigoProduto equals p.CodigoProduto where b.QuantidadeBaixa > 0 orderby b.QuantidadeBaixa group b by new { p.NomeProduto } into g select new { NomeProduto = g.Key.NomeProduto, QuantidadeBaixa = g.Sum(x => x.QuantidadeBaixa) }; resultQuery = resultQuery.OrderByDescending(x => x.QuantidadeBaixa).Take(5); var lista = new List <RankingBaixaViewModel>(); foreach (var item in resultQuery) { lista.Add(new RankingBaixaViewModel() { NomeProduto = item.NomeProduto, QuantidadeBaixa = item.QuantidadeBaixa }); } var js = new JavaScriptSerializer(); var json = js.Serialize(lista); return(Json(json, JsonRequestBehavior.AllowGet)); }
public Boolean cadastrarLote(Lote obj) { LoteDAO dao = new LoteDAO(); if (obj.Id != 0) { dao.update(obj); historico(obj, "UPDATE"); return(true); } else { obj.DataEntrada = DateTime.Now; dao.insert(obj); historico(LoteDAO.findByCode(obj.Codigo), "INSERT"); return(true); } }
public ActionResult Index() { LoteDAO loteDAO = new LoteDAO(); var lotes = loteDAO.GetAll().Where(x => x.QuantidadeProduto > 0).OrderBy(x => x.ValidadeLote); EstoqueDAO estoqueDao = new EstoqueDAO(); var model = lotes.Select(x => new LoteViewModel() { CodigoLote = x.CodigoLote, DescricaoLote = x.DescricaoLote, Produto = x.Produto, ValidadeLote = x.ValidadeLote, QuantidadeProduto = x.QuantidadeProduto, LocalEstoque = estoqueDao.GetById(x.Estoque_CodigoEstoque).DescricaoEstoque, }); return(View(model)); }
public JsonResult RetornaRankingProdutosMorto() { //Retorna Grafico de Colunas //Esse grafico retorna a quantidade de produtos totais. ProdutoDAO produtoDAO = new ProdutoDAO(); var listaProduto = produtoDAO.GetAll(); LoteDAO loteDAO = new LoteDAO(); var listaLote = loteDAO.GetAll(); var resultQuery = from l in listaLote join p in listaProduto on l.Produto_CodigoProduto equals p.CodigoProduto where l.ValidadeLote < DateTime.Now.Date && l.QuantidadeProduto > 0 orderby l.QuantidadeProduto group l by new { p.NomeProduto } into g select new { NomeProduto = g.Key.NomeProduto, QuantidadeProduto = g.Sum(x => x.QuantidadeProduto) }; resultQuery = resultQuery.OrderByDescending(x => x.QuantidadeProduto).Take(5); var lista = new List <RankingProdutosMortoViewModel>(); foreach (var item in resultQuery) { lista.Add(new RankingProdutosMortoViewModel() { NomeProduto = item.NomeProduto, QuantidadeProduto = item.QuantidadeProduto }); } var js = new JavaScriptSerializer(); var json = js.Serialize(lista); return(Json(json, JsonRequestBehavior.AllowGet)); }
public static bool CadastrarSaidaDeLote(Lote lote) { try { if (LoteDAO.ValidarSaidaLote(lote.Id)) { HistoricoDAO.GerarHistoricoSaidaLote(lote); return(true); } else { return(false); } } catch (Exception) { return(false); } }
public static bool CadastrarEntradaDeLote(Lote lote) { try { if (LoteDAO.ValidarNumeroDeLote(lote.Id) && LoteDAO.ValidarDataDeVencimento(lote.DataDeVencimento) && LoteDAO.ValidarDataDeFabricacao(lote.DataDeFabricacao)) { LoteDAO.CadastrarLote(lote); return(true); } else { return(false); } } catch (Exception) { return(false); } }
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 RetornaRankingProdutos() { //Retorna Grafico de Colunas //Esse grafico retorna a quantidade de produtos totais. ProdutoDAO produtoDAO = new ProdutoDAO(); var listaProduto = produtoDAO.GetAll(); LoteDAO loteDAO = new LoteDAO(); var listaLote = loteDAO.GetAll(); var resultQuery = from l in listaLote join p in listaProduto on l.Produto_CodigoProduto equals p.CodigoProduto group l by new { p.NomeProduto } into g select new { NomeProduto = g.Key.NomeProduto, QuantidadeProduto = g.Sum(x => x.QuantidadeProduto) }; return(View(resultQuery)); }
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 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 RelatorioProduto(string nomeCategoria, DateTime dataValidade) { RelatorioViewModel model = new RelatorioViewModel { ListaProdutoViewModel = new List <ProdutoViewModel>() }; CategoriaDAO categoriaDAO = new CategoriaDAO(); var listaCategoria = categoriaDAO.GetAll(); var filtroCategoria = new List <CategoriaProduto>(); foreach (var item in listaCategoria) { if (item.NomeCategoria.Equals(nomeCategoria)) { filtroCategoria.Add(item); } } ProdutoDAO produtoDAO = new ProdutoDAO(); var listaProduto = produtoDAO.GetAll(); //var filtroProduto = new List<Produto>(); //foreach (var item in listaProduto) //{ // if (item.NomeProduto.Equals(nomeProduto)) // { // filtroProduto.Add(item); // } //} LoteDAO loteDAO = new LoteDAO(); var listaLote = loteDAO.GetAll(); var filtroLote = new List <Lote>(); foreach (var item in listaLote) { if (item.ValidadeLote.Equals(dataValidade)) { filtroLote.Add(item); } } if (nomeCategoria != null && dataValidade != null) { var resultQuery = from p in listaProduto join l in filtroLote on p.CodigoProduto equals l.Produto_CodigoProduto join c in filtroCategoria on p.Categoria_CodigoCategoria equals c.CodigoCategoria select new { p.NomeProduto, c.NomeCategoria, l.ValidadeLote, }; return(View()); } else if (nomeCategoria == null && dataValidade != null) { var resultQuery = from p in listaProduto join l in filtroLote on p.CodigoProduto equals l.Produto_CodigoProduto select new { p.NomeProduto, p.MarcaProduto, l.ValidadeLote, }; return(View()); } else if (nomeCategoria == null && dataValidade == null) { var todosLote = loteDAO.GetAll(); var todosProdutos = produtoDAO.GetAll(); var todasCategorias = categoriaDAO.GetAll(); var resultQuery = from p in todosProdutos join l in todosLote on p.CodigoProduto equals l.Produto_CodigoProduto join c in todasCategorias on p.Categoria_CodigoCategoria equals c.CodigoCategoria select new { p.NomeProduto, c.NomeCategoria, p.MarcaProduto, l.ValidadeLote, }; return(View()); } return(null); }
public ActionResult RelatorioLote(FiltrosViewModel filtro) { CategoriaDAO categoriaDAO = new CategoriaDAO(); var listaCategoria = categoriaDAO.GetAll(); LoteDAO loteDAO = new LoteDAO(); var listaLote = loteDAO.GetAll(); ProdutoDAO produtoDAO = new ProdutoDAO(); var listaProduto = produtoDAO.GetAll(); EstoqueDAO estoqueDao = new EstoqueDAO(); //todos if (filtro.SelectItemLoteId != null && filtro.SelectItemCategoriaId != null && filtro.SelectItemProdutoId != null) { var resultQuery = from l in listaLote join p in listaProduto on l.Produto_CodigoProduto equals p.CodigoProduto join c in listaCategoria on p.Categoria_CodigoCategoria equals c.CodigoCategoria where l.Produto_CodigoProduto == filtro.SelectItemProdutoId && p.CodigoProduto == filtro.SelectItemProdutoId && p.Categoria_CodigoCategoria == filtro.SelectItemCategoriaId select new RelatorioLoteViewModel { DescricaoLote = l.DescricaoLote, NomeProduto = p.NomeProduto, NomeCategoria = c.NomeCategoria, ValidadeLote = l.ValidadeLote, QuantidadeProduto = l.QuantidadeProduto, LocalEstoque = estoqueDao.GetById(l.Estoque_CodigoEstoque).DescricaoEstoque, }; return(View(resultQuery.Distinct())); } //seleciona produto e categoria aaaaa else if (filtro.SelectItemLoteId == null && filtro.SelectItemCategoriaId != null && filtro.SelectItemProdutoId != null) { var resultQuery = from l in listaLote join p in listaProduto on l.Produto_CodigoProduto equals p.CodigoProduto join c in listaCategoria on p.Categoria_CodigoCategoria equals c.CodigoCategoria where p.CodigoProduto == filtro.SelectItemProdutoId && c.CodigoCategoria == filtro.SelectItemCategoriaId select new RelatorioLoteViewModel { DescricaoLote = l.DescricaoLote, NomeProduto = p.NomeProduto, NomeCategoria = c.NomeCategoria, ValidadeLote = l.ValidadeLote, QuantidadeProduto = l.QuantidadeProduto, LocalEstoque = estoqueDao.GetById(l.Estoque_CodigoEstoque).DescricaoEstoque, }; return(View(resultQuery.Distinct())); } //seleciona produto e lote else if (filtro.SelectItemLoteId != null && filtro.SelectItemCategoriaId == null && filtro.SelectItemProdutoId != null) { var resultQuery = from l in listaLote join p in listaProduto on l.Produto_CodigoProduto equals p.CodigoProduto join c in listaCategoria on p.Categoria_CodigoCategoria equals c.CodigoCategoria where p.CodigoProduto == filtro.SelectItemProdutoId && l.CodigoLote == filtro.SelectItemLoteId select new RelatorioLoteViewModel { DescricaoLote = l.DescricaoLote, NomeProduto = p.NomeProduto, NomeCategoria = c.NomeCategoria, ValidadeLote = l.ValidadeLote, QuantidadeProduto = l.QuantidadeProduto, LocalEstoque = estoqueDao.GetById(l.Estoque_CodigoEstoque).DescricaoEstoque, }; return(View(resultQuery.Distinct())); } //lote e categoria else if (filtro.SelectItemLoteId != null && filtro.SelectItemCategoriaId != null && filtro.SelectItemProdutoId == null) { var resultQuery = from l in listaLote join p in listaProduto on l.Produto_CodigoProduto equals p.CodigoProduto join c in listaCategoria on p.Categoria_CodigoCategoria equals c.CodigoCategoria where l.CodigoLote == filtro.SelectItemLoteId && c.CodigoCategoria == filtro.SelectItemCategoriaId select new RelatorioLoteViewModel { DescricaoLote = l.DescricaoLote, NomeProduto = p.NomeProduto, NomeCategoria = c.NomeCategoria, ValidadeLote = l.ValidadeLote, QuantidadeProduto = l.QuantidadeProduto, LocalEstoque = estoqueDao.GetById(l.Estoque_CodigoEstoque).DescricaoEstoque, }; return(View(resultQuery.Distinct())); } //produto else if (filtro.SelectItemLoteId == null && filtro.SelectItemCategoriaId == null && filtro.SelectItemProdutoId != null) { var resultQuery = from l in listaLote join p in listaProduto on l.Produto_CodigoProduto equals p.CodigoProduto join c in listaCategoria on p.Categoria_CodigoCategoria equals c.CodigoCategoria where p.CodigoProduto == filtro.SelectItemProdutoId select new RelatorioLoteViewModel { DescricaoLote = l.DescricaoLote, NomeProduto = p.NomeProduto, NomeCategoria = c.NomeCategoria, ValidadeLote = l.ValidadeLote, QuantidadeProduto = l.QuantidadeProduto, LocalEstoque = estoqueDao.GetById(l.Estoque_CodigoEstoque).DescricaoEstoque, }; return(View(resultQuery.Distinct())); } //lote else if (filtro.SelectItemLoteId != null && filtro.SelectItemCategoriaId == null && filtro.SelectItemProdutoId == null) { var resultQuery = from l in listaLote join p in listaProduto on l.Produto_CodigoProduto equals p.CodigoProduto join c in listaCategoria on p.Categoria_CodigoCategoria equals c.CodigoCategoria where l.CodigoLote == filtro.SelectItemLoteId select new RelatorioLoteViewModel { DescricaoLote = l.DescricaoLote, NomeProduto = p.NomeProduto, NomeCategoria = c.NomeCategoria, ValidadeLote = l.ValidadeLote, QuantidadeProduto = l.QuantidadeProduto, LocalEstoque = estoqueDao.GetById(l.Estoque_CodigoEstoque).DescricaoEstoque, }; return(View(resultQuery.Distinct())); } //categoria else if (filtro.SelectItemLoteId == null && filtro.SelectItemCategoriaId != null && filtro.SelectItemProdutoId == null) { var resultQuery = from l in listaLote join p in listaProduto on l.Produto_CodigoProduto equals p.CodigoProduto join c in listaCategoria on p.Categoria_CodigoCategoria equals c.CodigoCategoria where c.CodigoCategoria == filtro.SelectItemCategoriaId select new RelatorioLoteViewModel { DescricaoLote = l.DescricaoLote, NomeProduto = p.NomeProduto, NomeCategoria = c.NomeCategoria, ValidadeLote = l.ValidadeLote, QuantidadeProduto = l.QuantidadeProduto, LocalEstoque = estoqueDao.GetById(l.Estoque_CodigoEstoque).DescricaoEstoque, }; return(View(resultQuery.Distinct())); } else { var resultQuery = from l in listaLote join p in listaProduto on l.Produto_CodigoProduto equals p.CodigoProduto join c in listaCategoria on p.Categoria_CodigoCategoria equals c.CodigoCategoria select new RelatorioLoteViewModel { DescricaoLote = l.DescricaoLote, NomeProduto = p.NomeProduto, NomeCategoria = c.NomeCategoria, ValidadeLote = l.ValidadeLote, QuantidadeProduto = l.QuantidadeProduto, LocalEstoque = estoqueDao.GetById(l.Estoque_CodigoEstoque).DescricaoEstoque, }; return(View(resultQuery.Distinct())); } }
public ActionResult RelatorioProduto(FiltrosViewModel filtro) { CategoriaDAO categoriaDAO = new CategoriaDAO(); ProdutoDAO produtoDAO = new ProdutoDAO(); LoteDAO loteDAO = new LoteDAO(); var todosLote = loteDAO.GetAll(); var todosProdutos = produtoDAO.GetAll(); var todasCategorias = categoriaDAO.GetAll(); if (filtro.SelectItemCategoriaId != null && filtro.SelectItemProdutoId != null) { var resultQuery = from p in todosProdutos join c in todasCategorias on p.Categoria_CodigoCategoria equals c.CodigoCategoria where p.Categoria_CodigoCategoria == filtro.SelectItemCategoriaId && p.CodigoProduto == filtro.SelectItemProdutoId select new RelatorioProdutoViewModel { NomeProduto = p.NomeProduto, NomeCategoria = c.NomeCategoria, Marca = p.MarcaProduto, }; return(View(resultQuery.Distinct())); } else if (filtro.SelectItemCategoriaId == null && filtro.SelectItemProdutoId != null) { var resultQuery = from p in todosProdutos join c in todasCategorias on p.Categoria_CodigoCategoria equals c.CodigoCategoria where p.CodigoProduto == filtro.SelectItemProdutoId select new RelatorioProdutoViewModel { NomeProduto = p.NomeProduto, NomeCategoria = c.NomeCategoria, Marca = p.MarcaProduto, }; return(View(resultQuery.Distinct())); } else if (filtro.SelectItemCategoriaId != null && filtro.NomeProduto == null) { var resultQuery = from p in todosProdutos join c in todasCategorias on p.Categoria_CodigoCategoria equals c.CodigoCategoria where p.Categoria_CodigoCategoria == filtro.SelectItemCategoriaId select new RelatorioProdutoViewModel { NomeProduto = p.NomeProduto, NomeCategoria = c.NomeCategoria, Marca = p.MarcaProduto, }; return(View(resultQuery.Distinct())); } else if (filtro.SelectItemProdutoId == null && filtro.SelectItemCategoriaId != null) { var resultQuery = from p in todosProdutos join c in todasCategorias on p.Categoria_CodigoCategoria equals c.CodigoCategoria where p.CodigoProduto == filtro.SelectItemProdutoId select new RelatorioProdutoViewModel { NomeProduto = p.NomeProduto, NomeCategoria = c.NomeCategoria, Marca = p.MarcaProduto, }; return(View(resultQuery.Distinct())); } else { var resultQuery = from p in todosProdutos join c in todasCategorias on p.Categoria_CodigoCategoria equals c.CodigoCategoria select new RelatorioProdutoViewModel { NomeProduto = p.NomeProduto, NomeCategoria = c.NomeCategoria, Marca = p.MarcaProduto, }; return(View(resultQuery.Distinct())); } }
public LoteRN() { dao = new LoteDAO(); }
public ActionResult RelatorioLote(string nomeLote, string nomeCategoria, DateTime dataValidade) { CategoriaDAO categoriaDAO = new CategoriaDAO(); var listaCategoria = categoriaDAO.GetAll(); var filtroCategoria = new List <CategoriaProduto>(); foreach (var item in listaCategoria) { if (item.NomeCategoria.Equals(nomeCategoria)) { filtroCategoria.Add(item); } } LoteDAO loteDAO = new LoteDAO(); var listaLote = loteDAO.GetAll(); var filtroLote = new List <Lote>(); foreach (var item in listaLote) { if (item.ValidadeLote.Equals(dataValidade) && item.DescricaoLote.Equals(nomeLote)) { filtroLote.Add(item); } } ProdutoDAO produtoDAO = new ProdutoDAO(); var listaProduto = produtoDAO.GetAll(); var filtroProduto = new List <Produto>(); if (nomeLote != null && nomeCategoria != null && dataValidade != null) { var resultQuery = from l in filtroLote join p in listaProduto on l.Produto_CodigoProduto equals p.CodigoProduto join c in filtroCategoria on p.Categoria_CodigoCategoria equals c.CodigoCategoria orderby l.ValidadeLote select new { l.DescricaoLote, p.NomeProduto, c.NomeCategoria, l.ValidadeLote, l.QuantidadeProduto, }; return(View()); } else { var resultQuery = from l in listaLote join p in listaProduto on l.Produto_CodigoProduto equals p.CodigoProduto join c in listaCategoria on p.Categoria_CodigoCategoria equals c.CodigoCategoria orderby l.ValidadeLote select new { l.DescricaoLote, p.NomeProduto, c.NomeCategoria, l.ValidadeLote, l.QuantidadeProduto, }; return(View()); } }
static void Main(string[] args) { #region VARIAVEIS DE ENTRADA string nomeCategoria = null; Nullable <DateTime> dataValidade = null /*new DateTime(2018, 06, 01)*/; #endregion //METODOS QUE REQUISITAM DADOS NO BANCO E FILTRAM #region COLETORES DE DADOS DAO ProdutoDAO produtoDAO = new ProdutoDAO(); var listaProduto = produtoDAO.GetAll(); LoteDAO loteDAO = new LoteDAO(); var listaLote = loteDAO.GetAll(); var filtroLote = new List <Lote>(); foreach (var item in listaLote) { if (item.ValidadeLote.Equals(dataValidade)) { filtroLote.Add(item); } } CategoriaDAO categoriaDAO = new CategoriaDAO(); var listaCategoria = categoriaDAO.GetAll(); var filtroCategoria = new List <CategoriaProduto>(); foreach (var item in listaCategoria) { if (item.NomeCategoria.Equals(nomeCategoria)) { filtroCategoria.Add(item); } } #endregion //Retorna Grafico de Colunas //Esse grafico retorna a quantidade de produtos totais. //Com ele podemos criar um ranking de produto para verificar o que mais é vendido, tornando mais dificil de vencer no estoque //Pois tem alta rotatividade #region DADOS GRAFICO DE RANKING DE PRODUTOS (BARRA) //var resultQuery = from l in listaLote // join p in listaProduto // on l.Produto_CodigoProduto equals p.CodigoProduto // group l by new { p.NomeProduto } into g // select new // { // NomeProduto = g.Key.NomeProduto, // QuantidadeProduto = g.Sum(x => x.QuantidadeProduto) // }; //foreach (var item in resultQuery) //{ // Console.WriteLine("Produto: " + item.NomeProduto + " Quantidade: " + item.QuantidadeProduto); //} //Console.ReadLine(); #endregion //Esse relatorio pode ser filtrado pelo nome da categoria do lote e pela data de validade //O Mesmo vai retornar o resultado de todos os lotes daquela categoria e com aquela data //Esse relatorio é importate para sabermos o nome o tipo de produto que tem dentro de cada lote, quantidade e se esta proximo do vencimento #region RELATORIO LOTE COM FILTRO DE DATA E NOMECATEGORIA //if (nomeCategoria != null && dataValidade != null) //{ // var resultQuery = from l in listaLote // join p in listaProduto // on l.Produto_CodigoProduto equals p.CodigoProduto // join c in filtroCategoria // on p.Categoria_CodigoCategoria equals c.CodigoCategoria // orderby l.ValidadeLote // select new // { // l.DescricaoLote, // p.NomeProduto, // c.NomeCategoria, // l.ValidadeLote, // l.QuantidadeProduto, // }; // foreach (var item in resultQuery) // { // Console.WriteLine("Lote: " + item.DescricaoLote + " Produto: " + item.NomeProduto + " Categoria: " + item.NomeCategoria + " Validade: " + item.ValidadeLote + " Quantidade: " + item.QuantidadeProduto); // } // Console.ReadLine(); //} //else //{ // var resultQuery = from l in listaLote // join p in listaProduto // on l.Produto_CodigoProduto equals p.CodigoProduto // join c in listaCategoria // on p.Categoria_CodigoCategoria equals c.CodigoCategoria // orderby l.ValidadeLote // select new // { // l.DescricaoLote, // p.NomeProduto, // c.NomeCategoria, // l.ValidadeLote, // l.QuantidadeProduto, // }; // foreach (var item in resultQuery) // { // Console.WriteLine("Lote: " + item.DescricaoLote + " Produto: " + item.NomeProduto + " Categoria: " + item.NomeCategoria + " Validade: " + item.ValidadeLote + " Quantidade: " + item.QuantidadeProduto); // } // Console.ReadLine(); //} #endregion //RELATORIO DE PRODUTO // Filtros: CATEGORIA/DATA ou DATA ou TODOS OS PRODUTOS #region RELATORIO DE PRODUTO if (nomeCategoria != null && dataValidade != null) { var resultQuery = from p in listaProduto join l in filtroLote on p.CodigoProduto equals l.Produto_CodigoProduto join c in filtroCategoria on p.Categoria_CodigoCategoria equals c.CodigoCategoria select new { p.NomeProduto, c.NomeCategoria, p.MarcaProduto, l.ValidadeLote, }; foreach (var item in resultQuery) { Console.WriteLine("Produto: " + item.NomeProduto + " Categoria: " + item.NomeCategoria + " Marca: " + item.MarcaProduto + " Validade: " + item.ValidadeLote); } Console.ReadLine(); } else if (nomeCategoria == null && dataValidade != null) { var resultQuery = from p in listaProduto join l in filtroLote on p.CodigoProduto equals l.Produto_CodigoProduto join c in listaCategoria on p.Categoria_CodigoCategoria equals c.CodigoCategoria select new { p.NomeProduto, c.NomeCategoria, p.MarcaProduto, l.ValidadeLote, }; foreach (var item in resultQuery) { Console.WriteLine("Produto: " + item.NomeProduto + " Categoria: " + item.NomeCategoria + " Marca: " + item.MarcaProduto + " Validade: " + item.ValidadeLote); } Console.ReadLine(); } else if (nomeCategoria == null && dataValidade == null) { var todosLote = loteDAO.GetAll(); var todosProdutos = produtoDAO.GetAll(); var todasCategorias = categoriaDAO.GetAll(); var resultQuery = from p in todosProdutos join l in todosLote on p.CodigoProduto equals l.Produto_CodigoProduto join c in todasCategorias on p.Categoria_CodigoCategoria equals c.CodigoCategoria select new { p.NomeProduto, c.NomeCategoria, p.MarcaProduto, l.ValidadeLote, }; foreach (var item in resultQuery) { Console.WriteLine("Produto: " + item.NomeProduto + " Categoria: " + item.NomeCategoria + " Marca: " + item.MarcaProduto + " Validade: " + item.ValidadeLote); } Console.ReadLine(); } #endregion }
public static List <Lote> ListarLotesEmEstoquePorProduto(Produto produto) { return(LoteDAO.ListarLotesEmEstoquePorProduto(produto)); }
public static List <Lote> ListarLotesEmEstoquePorDataDeVencimento(DateTime dataDeVencimento) { return(LoteDAO.ListarLotesEmEstoquePorDataDeVencimento(dataDeVencimento)); }
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); }