public RetornoSaida getSaidaByEmpresa(int idEmpresa) { RetornoSaida ret = new RetornoSaida(); try { SaidaDAO DAO = new SaidaDAO(); DataTable dt = DAO.getSaidaByEmpresa(idEmpresa); List <Saida> listSaidas = new List <Saida>(); if (dt.Rows.Count.Equals(0)) { throw new Exception("Não há saídas cadastradas com essa empresa."); } foreach (DataRow row in dt.Rows) { listSaidas.Add(montarSaida(row)); } return(ret); } catch (Exception ex) { throw ex; } }
public RetornoSaida getTodasSaidas() { RetornoSaida ret = new RetornoSaida(); try { SaidaDAO DAO = new SaidaDAO(); DataTable dt = DAO.getTodasSaidas(); List <Saida> listSaidas = new List <Saida>(); if (dt.Rows.Count.Equals(0)) { throw new Exception("0 saídas cadastradas."); } foreach (DataRow row in dt.Rows) { listSaidas.Add(montarSaida(row)); } ret.sucesso = true; ret.erro = String.Empty; ret.listSaidas = listSaidas; return(ret); } catch (Exception ex) { throw ex; } }
public void AtualizaEstoque(int idEmpresa, int idProduto) { EntradaDAO entradaDAO = new EntradaDAO(); SaidaDAO saidaDAO = new SaidaDAO(); EstoqueDAO estoqueDAO = new EstoqueDAO(); DataTable dt = estoqueDAO.getQtdRegistrosByEmpresaProduto(idEmpresa, idProduto); int qtdRegistros = Convert.ToInt32(dt.Rows[0][0]); if (qtdRegistros.Equals(0)) { dt = entradaDAO.getQtdEntradaByEmpresaProduto(idEmpresa, idProduto); int qtdEntrada = Convert.ToInt32(dt.Rows[0][0]); estoqueDAO.createEstoque(idEmpresa, idProduto, qtdEntrada); } else { dt = entradaDAO.getQtdEntradaByEmpresaProduto(idEmpresa, idProduto); int qtdEntrada = Convert.ToInt32(dt.Rows[0][0]); dt = saidaDAO.getQtdSaidaByEmpresaProduto(idEmpresa, idProduto); int qtdSaida = 0; if (dt.Rows.Count > 0) { if (!dt.Rows[0][0].Equals(DBNull.Value)) { qtdSaida = Convert.ToInt32(dt.Rows[0][0]); } } int quantidade = qtdEntrada - qtdSaida; estoqueDAO.updateEstoque(idEmpresa, idProduto, quantidade); } }
public Retorno insereSaida(Saida saida) { Retorno ret = new Retorno(); try { if (saida.quantidade < 1) { throw new Exception("Quantidade incorreta."); } SaidaDAO DAO = new SaidaDAO(); EstoqueBLL estoqueBLL = new EstoqueBLL(); EstoqueDAO estoqueDAO = new EstoqueDAO(); estoqueBLL.AtualizaEstoque(saida.idEmpresa, saida.idProduto); DataTable dt = estoqueDAO.getTotalEstoqueByEmpresaProduto(saida.idEmpresa, saida.idProduto); if (dt.Rows.Count.Equals(0)) { throw new Exception("Essa empresa não contém esse item no estoque"); } if (Convert.ToInt32(dt.Rows[0]["quantidade"]) < saida.quantidade) { throw new Exception("Essa empresa não contém essa quantidade de mercadoria no estoque"); } int sucesso = DAO.insereSaida(saida); estoqueBLL.AtualizaEstoque(saida.idEmpresa, saida.idProduto); if (sucesso > 0) { ret.sucesso = true; ret.erro = String.Empty; } else { ret.sucesso = false; throw new Exception("Não foi possível inserir essa saída."); } return(ret); } catch (Exception ex) { throw ex; } }