Ejemplo n.º 1
0
        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;
            }
        }
Ejemplo n.º 2
0
        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;
            }
        }
Ejemplo n.º 3
0
        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);
            }
        }
Ejemplo n.º 4
0
        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;
            }
        }