예제 #1
0
        /// <summary>
        /// Sobrecarga de Atualizar para atualizar saldo no item de estoque
        /// </summary>
        /// <returns></returns>
        public override bool Atualizar()
        {
            bool ok;

            try {
                ok = base.Atualizar();
                if (ok)
                {
                    // Para o antigo produto, estoque, e quantidade, tire do saldo do antigo EstoqueItemID
                    EstoqueItem estoqueItemAntes = new EstoqueItem();
                    estoqueItemAntes.Control.ID = this.EstoqueItemID.ValorAntigo;                       // Pega EstoqueItemID antigo
                    decimal inverteSinal = -1 * this.Quantidade.ValorAntigo;
                    //	Atualiza no saldo, tirando a Quantidade antiga no antigo estoque e/ou produto
                    estoqueItemAntes.AtualizarSaldo(inverteSinal);

                    // Para o novo produto, estoque, e quantidade, inclua no saldo do novo EstoqueItemID
                    EstoqueItem estoqueItemDepois = new EstoqueItem();
                    estoqueItemDepois.Control.ID = this.EstoqueItemID.Valor;                            // Pega EstoqueItemID para ser procurado
                    //	Atualiza no saldo, somando a Quantidade no novo estoque e/ou produto
                    estoqueItemDepois.AtualizarSaldo(this.Quantidade.Valor);
                }                 // fim de if-ok
            } catch {
                ok = false;
            }
            return(ok);
        }
예제 #2
0
        /// <summary>
        /// Sobrecarga de Atualizar para atualizar saldo no item de estoque
        /// </summary>
        /// <returns></returns>
        public override bool Atualizar()
        {
            bool ok;

            try {
                ok = base.Atualizar();
                if (ok)
                {
                    decimal inverteSinal;
                    // === Para Antes da alteracao
                    // Para Estoque Para
                    EstoqueItem estoqueItemParaAntes = new EstoqueItem();
                    estoqueItemParaAntes.Control.ID = this.EstoqueItemParaID.ValorAntigo;                       // Usado no AtualizarSaldo
                    inverteSinal = -1 * this.Quantidade.ValorAntigo;
                    estoqueItemParaAntes.AtualizarSaldo(inverteSinal);
                    // Para Estoque De
                    EstoqueItem estoqueItemDeAntes = new EstoqueItem();
                    estoqueItemDeAntes.Control.ID = this.EstoqueItemDeID.ValorAntigo;                           // Usado no AtualizarSaldo
                    estoqueItemDeAntes.AtualizarSaldo(this.Quantidade.ValorAntigo);
                    // === Para Depois da alteracao
                    // Para Estoque Para
                    EstoqueItem estoqueItemParaDepois = new EstoqueItem();
                    estoqueItemParaDepois.Control.ID = this.EstoqueItemParaID.Valor;                            // Usado no AtualizarSaldo
                    estoqueItemParaDepois.AtualizarSaldo(this.Quantidade.Valor);
                    // Para Estoque Para
                    EstoqueItem estoqueItemDeDepois = new EstoqueItem();
                    estoqueItemDeDepois.Control.ID = this.EstoqueItemDeID.Valor;                        // Usado no AtualizarSaldo
                    inverteSinal = -1 * this.Quantidade.Valor;
                    estoqueItemDeDepois.AtualizarSaldo(inverteSinal);
                }                 // fim de if-ok
            } catch {
                ok = false;
            }
            return(ok);
        }
예제 #3
0
        /// <summary>
        /// Sobrecarga de Excluir para atualizar saldo no item de estoque
        /// </summary>
        /// <returns></returns>
        public override bool Excluir()
        {
            bool ok;

            try {
                ok = base.Excluir();
                if (ok)
                {
                    EstoqueItem estoqueItem = new EstoqueItem();
                    estoqueItem.Control.ID = this.EstoqueItemID.Valor;
                    estoqueItem.Ler(estoqueItem.Control.ID);                     // preciso do ProdutoID
                    decimal inverteSinal = -1 * this.Quantidade.Valor;
                    // Em uma compra de produto, eh necessaria a conversao da unidade de compra para unidade de uso
                    // Para isso, eh necessario o coeficiente de conversao que esta com o produto
                    Produto produto = new Produto();
                    // Encontrar o Produto em funcao do EstoqueItemID
                    produto.Ler(estoqueItem.ProdutoID.Valor);
                    // atualizando
                    estoqueItem.AtualizarSaldo(inverteSinal * produto.CoeficienteDeConversao.Valor);
                }
            } catch {
                ok = false;
            }
            return(ok);
        }
예제 #4
0
        /// <summary>
        /// Sobrecarga de Inserir para atualizar saldo no item de estoque
        /// </summary>
        /// <returns></returns>
        public override bool Inserir()
        {
            bool ok;

            try {
                ok = base.Inserir();
                if (ok)
                {
                    EstoqueItem estoqueItem = new EstoqueItem();
                    estoqueItem.Control.ID = this.EstoqueItemID.Valor;
                    estoqueItem.Ler(estoqueItem.Control.ID);                     // preciso do ProdutoID
                    // Em uma compra de produto, eh necessaria a conversao da unidade de compra para unidade de uso
                    // Para isso, eh necessario o coeficiente de conversao que esta com o produto
                    Produto produto = new Produto();
                    // Encontrar o Produto em funcao do EstoqueItemID
                    produto.Ler(estoqueItem.ProdutoID.Valor);
                    // atualizando
                    estoqueItem.AtualizarSaldo(this.Quantidade.Valor * produto.CoeficienteDeConversao.Valor);
                    // Atualizar o valor do Preço na tabela de Produto
                    try {
                        produto.PrecoCompra.Valor = this.PrecoCompra.Valor;
                        produto.Atualizar();
                    } catch {
                        Debug.Fail("Falha ao atualizar o Preço no Produto, ao efetuar Pedido");
                    }
                }
            } catch {
                ok = false;
            }
            return(ok);
        }
예제 #5
0
        /// <summary>
        /// Obtem uma tabela de todos os campos de estoquetransferenciaitem carregados na lista
        /// </summary>
        /// <returns></returns>
        public override DataTable Relatorio()
        {
            DataTable tabela = new DataTable("EstoqueTransferenciaItem");

            try{
                if (this.Primeiro())
                {
                    //tabela.Columns.Add("OrdemTransferencia", typeof(int));
                    tabela.Columns.Add("EstoqueDe", typeof(string));
                    tabela.Columns.Add("EstoquePara", typeof(string));
                    tabela.Columns.Add("Produto", typeof(string));
                    tabela.Columns.Add("Quantidade", typeof(decimal));

                    do
                    {
                        DataRow linha = tabela.NewRow();
//						EstoqueTransferencia t = new EstoqueTransferencia();
//						t.Ler(estoquetransferenciaitem.EstoqueTransferenciaID.Valor);
//						linha["OrdemTransferencia"]= t.Ordem.Valor;

                        EstoqueItem eItem = new EstoqueItem();
                        eItem.Ler(estoqueTransferenciaItem.EstoqueItemDeID.Valor);

                        Produto p = new Produto();
                        p.Ler(eItem.ProdutoID.Valor);
                        linha["Produto"] = p.Nome.Valor;

                        Estoque e = new Estoque();
                        e.Ler(eItem.EstoqueID.Valor);

                        linha["EstoqueDe"] = e.Nome.Valor;

                        eItem = new EstoqueItem();
                        eItem.Ler(estoqueTransferenciaItem.EstoqueItemParaID.Valor);
                        e = new Estoque();
                        e.Ler(eItem.EstoqueID.Valor);

                        linha["EstoquePara"] = e.Nome.Valor;

                        linha["Quantidade"] = estoqueTransferenciaItem.Quantidade.Valor;
                        tabela.Rows.Add(linha);
                    }while(this.Proximo());
                }
                else                   //erro: nao carregou a lista
                {
                    tabela = null;
                }
            }catch {
                tabela = null;
            }

            return(tabela);
        }
예제 #6
0
        /// <summary>
        /// Sobrecarga de Atualizar para atualizar saldo no item de estoque
        /// </summary>
        /// <returns></returns>
        public override bool Atualizar()
        {
            bool ok;

            try {
                ok = base.Atualizar();
                if (ok)
                {
                    // Para o antigo produto, estoque, e quantidade, tire do saldo do antigo EstoqueItemID
                    EstoqueItem estoqueItemAntes = new EstoqueItem();
                    estoqueItemAntes.Control.ID = this.EstoqueItemID.ValorAntigo;          // Pega EstoqueItemID antigo
                    estoqueItemAntes.Ler(estoqueItemAntes.Control.ID);                     // obtendo produto e estoque relacionado a este estoque item
                    // Em uma compra de produto, eh necessaria a conversao da unidade de compra para unidade de uso
                    // Para isso, eh necessario o coeficiente de conversao que esta com o produto
                    // Encontrar o Produto em funcao do EstoqueItemID
                    Produto produtoAntes = new Produto();
                    produtoAntes.Ler(estoqueItemAntes.ProdutoID.Valor);                         // aqui nao eh valor antigo, pois ja obtemos no EstoqueItemID antigo
                    decimal inverteSinal = -1 * this.Quantidade.ValorAntigo;
                    //	Atualiza no saldo, tirando a Quantidade antiga no antigo estoque e/ou produto
                    estoqueItemAntes.AtualizarSaldo(inverteSinal * produtoAntes.CoeficienteDeConversao.Valor);
                    // ==================================================
                    // Para o novo produto, estoque, e quantidade, inclua no saldo do novo EstoqueItemID
                    EstoqueItem estoqueItemDepois = new EstoqueItem();
                    estoqueItemDepois.Control.ID = this.EstoqueItemID.Valor;                 // Pega EstoqueItemID para ser procurado
                    estoqueItemDepois.Ler(estoqueItemDepois.Control.ID);                     // obtendo produto e estoque relacionado a este estoque item
                    // Nao preciso me preocupar em encontrar um novo EstoqueItemID, pois ja foi tratado antes
                    // Em uma compra de produto, eh necessaria a conversao da unidade de compra para unidade de uso
                    // Para isso, eh necessario o coeficiente de conversao que esta com o produto
                    // Encontrar o Produto em funcao do EstoqueItemID
                    Produto produtoDepois = new Produto();
                    produtoDepois.Ler(estoqueItemDepois.ProdutoID.Valor);
                    //	Atualiza no saldo, somando a Quantidade no novo estoque e/ou produto
                    estoqueItemDepois.AtualizarSaldo(this.Quantidade.Valor * produtoDepois.CoeficienteDeConversao.Valor);
                    // Atualizar o valor do Preço na tabela de Produto, neste caso, importa sempre depois da alteracao
                    try {
                        produtoDepois.PrecoCompra.Valor = this.PrecoCompra.Valor;
                        produtoDepois.Atualizar();
                    } catch {
                        Debug.Fail("Falha ao atualizar o Preço no Produto, ao efetuar Pedido");
                    }
                }                 // fim de if-ok
            } catch {
                ok = false;
            }
            return(ok);
        }
예제 #7
0
        /// <summary>
        /// Sobrecarga de Inserir para atualizar saldo no item de estoque
        /// </summary>
        /// <returns></returns>
        public override bool Inserir()
        {
            bool ok;

            try {
                ok = base.Inserir();
                if (ok)
                {
                    EstoqueItem estoqueItem = new EstoqueItem();
                    estoqueItem.Control.ID = this.EstoqueItemID.Valor;
                    // atualizando
                    estoqueItem.AtualizarSaldo(this.Quantidade.Valor);
                }
            } catch {
                ok = false;
            }
            return(ok);
        }
예제 #8
0
        /// <summary>
        /// Obtem uma tabela de todos os campos de estoqueajusteitem carregados na lista
        /// </summary>
        /// <returns></returns>
        public override DataTable Relatorio()
        {
            DataTable tabela = new DataTable("EstoqueAjusteItem");

            try{
                if (this.Primeiro())
                {
                    // Criando DataTable
                    tabela.Columns.Add("Estoque", typeof(string));
                    tabela.Columns.Add("Produto", typeof(string));
                    tabela.Columns.Add("Quantidade", typeof(decimal));
                    tabela.Columns.Add("Motivo", typeof(string));
                    // Atribuindo dados ao DataTable
                    do
                    {
                        DataRow linha = tabela.NewRow();
                        // Obtendo EstoqueItemID para obter Produto e Estoque
                        EstoqueItem eItem = new EstoqueItem();
                        eItem.Ler(estoqueAjusteItem.EstoqueItemID.Valor);
                        // Produto
                        Produto p = new Produto();
                        p.Ler(eItem.ProdutoID.Valor);
                        linha["Produto"] = p.Nome.Valor;
                        // Estoque
                        Estoque e = new Estoque();
                        e.Ler(eItem.EstoqueID.Valor);
                        linha["Estoque"] = e.Nome.Valor;
                        //
                        linha["Quantidade"] = estoqueAjusteItem.Quantidade.Valor;
                        EstoqueAjusteMotivo eam = new EstoqueAjusteMotivo();
                        eam.Ler(estoqueAjusteItem.EstoqueAjusteMotivoID.Valor);
                        linha["Motivo"] = eam.Nome.Valor;
                        tabela.Rows.Add(linha);
                    }while(this.Proximo());
                }
                else                   //erro: nao carregou a lista
                {
                    tabela = null;
                }
            }catch {
                tabela = null;
            }
            return(tabela);
        }               // fim do mehtodo
예제 #9
0
        /// <summary>
        /// Obtem uma tabela de todos os campos de estoquepedidoitem carregados na lista
        /// </summary>
        /// <returns></returns>
        public override DataTable Relatorio()
        {
            DataTable tabela = new DataTable("EstoquePedidoItem");

            try{
                if (this.Primeiro())
                {
                    // Criando DataTable
                    tabela.Columns.Add("Estoque", typeof(string));
                    tabela.Columns.Add("Produto", typeof(string));
                    tabela.Columns.Add("PrecoCompra", typeof(decimal));
                    tabela.Columns.Add("Quantidade", typeof(decimal));
                    // Atribuindo dados ao DataTable
                    do
                    {
                        DataRow linha = tabela.NewRow();
                        // Obtendo EstoqueItemID para obter Produto e Estoque
                        EstoqueItem eItem = new EstoqueItem();
                        eItem.Ler(estoquePedidoItem.EstoqueItemID.Valor);
                        // Produto
                        Produto p = new Produto();
                        p.Ler(eItem.ProdutoID.Valor);
                        linha["Produto"] = p.Nome.Valor;
                        // Estoque
                        Estoque e = new Estoque();
                        e.Ler(eItem.EstoqueID.Valor);
                        linha["Estoque"] = e.Nome.Valor;
                        // Outrso campos do relatohrio
                        linha["PrecoCompra"] = estoquePedidoItem.PrecoCompra.Valor;
                        linha["Quantidade"]  = estoquePedidoItem.Quantidade.Valor;
                        // Adicionando a linha ao DataTable
                        tabela.Rows.Add(linha);
                    }while(this.Proximo());
                }
                else                   //erro: nao carregou a lista
                {
                    tabela = null;
                }
            }catch {
                tabela = null;
            }

            return(tabela);
        }
예제 #10
0
        /// <summary>
        /// Sobrecarga de Excluir para atualizar saldo no item de estoque
        /// </summary>
        /// <returns></returns>
        public override bool Excluir()
        {
            bool ok;

            try {
                ok = base.Excluir();
                if (ok)
                {
                    EstoqueItem estoqueItem = new EstoqueItem();
                    estoqueItem.Control.ID = this.EstoqueItemID.Valor;
                    decimal inverteSinal = -1 * this.Quantidade.Valor;
                    // atualizando
                    estoqueItem.AtualizarSaldo(inverteSinal);
                }
            } catch {
                ok = false;
            }
            return(ok);
        }
예제 #11
0
        /// <summary>
        /// Sobrecarga de Excluir para atualizar saldo no item de estoque
        /// </summary>
        /// <returns></returns>
        public override bool Excluir()
        {
            bool ok;

            try {
                ok = base.Excluir();
                if (ok)
                {
                    // Estoque De
                    EstoqueItem estoqueItemDe = new EstoqueItem();
                    estoqueItemDe.Control.ID = this.EstoqueItemDeID.Valor;
                    estoqueItemDe.AtualizarSaldo(this.Quantidade.Valor);
                    // Estoque Para
                    EstoqueItem estoqueItemPara = new EstoqueItem();
                    estoqueItemPara.Control.ID = this.EstoqueItemParaID.Valor;
                    decimal inverteSinal = -1 * this.Quantidade.Valor;
                    estoqueItemPara.AtualizarSaldo(inverteSinal);
                }
            } catch {
                ok = false;
            }
            return(ok);
        }
예제 #12
0
        }         // fim de GravarComanda

        /// <summary>
        /// Gravar informações de Comanda e seus itens, antes de imprimir Comanda no Bar
        /// </summary>
        /// <returns></returns>
        public string GravarComanda(
            out int vendaID,
            bool trabalharComIngresso,
            int caixaID,
            int apresentacaoID,
            int setorID,
            string codigo,
            int garconID,
            DataTable comandaItemTabelaMemoria)
        {
            int     comandaID;
            Comanda comanda = new Comanda(usuarioID);

            try{
                vendaID = 0;
                // Gravar na tabela Comanda
                comanda.CaixaID.Valor = caixaID;
                comanda.VendaID.Valor = 0;
                Ingresso ingresso = new Ingresso();
                if (trabalharComIngresso)
                {
                    comanda.IngressoID.Valor = IngressoID(apresentacaoID, setorID, codigo);
                    comanda.GarconID.Valor   = garconID;
                }
                else
                {
                    comanda.IngressoID.Valor = 0;
                    comanda.GarconID.Valor   = 0;
                }
                int incremento = comanda.Ultima() + 1;
                comanda.Ordem.Valor = incremento.ToString();
                comanda.Inserir();                      // *****
                comandaID = comanda.Control.ID;         // retornar ID da Comanda
                foreach (DataRow linha in comandaItemTabelaMemoria.Rows)
                {
                    // Gravar os itens
                    ComandaItem comandaItem = new ComandaItem(usuarioID);
                    comandaItem.ComandaID.Valor  = comandaID;
                    comandaItem.ProdutoID.Valor  = Convert.ToInt32(linha["ProdutoID"]);
                    comandaItem.Quantidade.Valor = Convert.ToInt32(linha["Quantidade"]);
                    // Pesquisar PrecoVenda
                    Produto produto = new Produto();
                    produto.Ler(Convert.ToInt32(linha["ProdutoID"]));
                    comandaItem.PrecoVenda.Valor = produto.PrecoVenda.Valor;
                    // Inserir o item de comanda
                    comandaItem.Inserir();
                    // Atualizar quantidade no estoque para cada item de venda
                    Caixa caixa = new Caixa(usuarioID);
                    caixa.Ler(caixaID);
                    Loja loja = new Loja(usuarioID);
                    loja.Ler(caixa.LojaID.Valor);
                    EstoqueItem estoqueItem = new EstoqueItem(usuarioID);
                    estoqueItem.ProdutoID.Valor = Convert.ToInt32(linha["ProdutoID"]);
                    estoqueItem.EstoqueID.Valor = loja.EstoqueID.Valor;
                    estoqueItem.DefinirID();
                    estoqueItem.AtualizarSaldo(-1 * Convert.ToInt32(linha["Quantidade"]));
                }
                // Em sistema de Ticket, assim que imprimiu a comanda, salva a venda
                if (!trabalharComIngresso)
                {
                    // Chame um mehtodo que cria um registro de Venda e atualiza VendaID nesta Comanda
                    vendaID = InserirVenda(caixaID, comanda.IngressoID.Valor, comandaID);
                }
            }catch (Exception erro) {
                throw erro;
            }
            return(comanda.Ordem.Valor);
        }         // fim de GravarComanda
예제 #13
0
        }         // fim de GravarComandaPagamento

        /// <summary>
        /// Gravar informações de Comanda e seus itens, antes de imprimir Comanda no Bar
        /// Usa como parâmetro Matriz em vez de DataTable
        /// </summary>
        /// <returns></returns>
        public string GravarComanda(
            out int vendaID,
            bool trabalharComIngresso,
            int caixaID,
            int apresentacaoID,
            int setorID,
            string codigo,
            int garconID,
            int [,] comandaItemMatrizMemoria)
        {
            //

            int     comandaID;
            Comanda comanda = new Comanda(usuarioID);

            try{
                vendaID = 0;
                // Gravar na tabela Comanda
                comanda.CaixaID.Valor = caixaID;
                comanda.VendaID.Valor = 0;
                Ingresso ingresso = new Ingresso();
                if (trabalharComIngresso)
                {
                    comanda.IngressoID.Valor = IngressoID(apresentacaoID, setorID, codigo);
                    comanda.GarconID.Valor   = garconID;
                }
                else
                {
                    comanda.IngressoID.Valor = 0;
                    comanda.GarconID.Valor   = 0;
                }
                int incremento = comanda.Ultima() + 1;
                comanda.Ordem.Valor = incremento.ToString();
                comanda.Inserir();                                      // *****
                comandaID = comanda.Control.ID;                         // retornar ID da Comanda
                int tamanho = (int)comandaItemMatrizMemoria.Length / 2; // 2 colunas
                for (int conta = 0; conta < tamanho; conta++)
                {
                    // Gravar os itens
                    int         produtoID   = Convert.ToInt32(comandaItemMatrizMemoria[conta, 0]);
                    int         quantidade  = Convert.ToInt32(comandaItemMatrizMemoria[conta, 1]);
                    ComandaItem comandaItem = new ComandaItem(usuarioID);
                    comandaItem.ComandaID.Valor  = comandaID;
                    comandaItem.ProdutoID.Valor  = produtoID;
                    comandaItem.Quantidade.Valor = quantidade;
                    // Pesquisar PrecoVenda
                    Produto produto = new Produto();
                    produto.Ler(produtoID);                     // *****
                    comandaItem.PrecoVenda.Valor = produto.PrecoVenda.Valor;
                    // Inserir o item de comanda
                    comandaItem.Inserir();                      // *****
                    // Atualizar quantidade no estoque para cada item de venda
                    Caixa caixa = new Caixa(usuarioID);
                    caixa.Ler(caixaID);                         // *****
                    Loja loja = new Loja(usuarioID);
                    loja.Ler(caixa.LojaID.Valor);
                    EstoqueItem estoqueItem = new EstoqueItem(usuarioID);
                    estoqueItem.ProdutoID.Valor = produtoID;
                    estoqueItem.EstoqueID.Valor = loja.EstoqueID.Valor;
                    estoqueItem.DefinirID();                            // *****
                    estoqueItem.AtualizarSaldo(-1 * quantidade);        // *****
                }
                // Em sistema de Ticket, assim que imprimiu a comanda, salva a venda
                if (!trabalharComIngresso)
                {
                    // Chame um mehtodo que cria um registro de Venda e atualiza VendaID nesta Comanda
                    vendaID = InserirVenda(caixaID, comanda.IngressoID.Valor, comandaID);                       // *****
                }
            }catch (Exception erro) {
                throw erro;
            }
            return(comanda.Ordem.Valor);
        }         // fim de GravarComanda
예제 #14
0
 // passar o Usuario logado no sistema
 public EstoqueItemLista_B(int usuarioIDLogado)
 {
     estoqueItem = new EstoqueItem(usuarioIDLogado);
 }
예제 #15
0
 // passar o Usuario logado no sistema
 public EstoqueItemLista_B()
 {
     estoqueItem = new EstoqueItem();
 }