Example #1
0
        public static void saldoPedidoXEstoque(string vNR_Pedido, string vCD_Produto, ref decimal tQuantidade, ref decimal tValor, TObjetoBanco banco)
        {
            TpBusca[] vBusca = new TpBusca[1];
            vBusca[0].vNM_Campo = "a.NR_Pedido";
            vBusca[0].vVL_Busca = vNR_Pedido;
            vBusca[0].vOperador = "=";
            if (vCD_Produto.Trim() != "")
            {
                Array.Resize(ref vBusca, vBusca.Length + 1);
                vBusca[vBusca.Length - 1].vNM_Campo = "b.CD_Produto";
                vBusca[vBusca.Length - 1].vVL_Busca = "'" + vCD_Produto + "'";
                vBusca[vBusca.Length - 1].vOperador = "=";
            }
            bool pode_liberar = false;
            TCD_LanPedido_Item_X_Estoque qtb_itensEstoque = new TCD_LanPedido_Item_X_Estoque();

            try
            {
                //Startar Transação
                if (banco == null)
                {
                    qtb_itensEstoque.CriarBanco_Dados(true);
                    pode_liberar = true;
                }
                else
                {
                    qtb_itensEstoque.Banco_Dados = banco;
                }
                DataTable tabela = qtb_itensEstoque.Buscar(vBusca, 1, "isNull(sum(isNull(b.QTD_Entrada,0) - isNull(b.QTD_Saida,0)),0) as QTD_Saldo, isNull(sum(case when b.tp_movimento = 'S' then -1 else 1 end * isNull(b.vl_subtotal,0)),0) as Vl_Saldo");
                if (tabela != null)
                {
                    if (tabela.Rows.Count > 0)
                    {
                        try
                        {
                            tQuantidade = Convert.ToDecimal(tabela.Rows[0]["QTD_Saldo"].ToString());
                        }
                        catch
                        { tQuantidade = 0; }
                        try
                        {
                            tValor = Convert.ToDecimal(tabela.Rows[0]["Vl_Saldo"].ToString());
                        }
                        catch
                        { tValor = 0; }
                    }
                }
            }
            finally
            {
                if (pode_liberar)
                {
                    qtb_itensEstoque.deletarBanco_Dados();
                }
            }
        }
Example #2
0
        public static string GravarPedidoItensXEstoque(TRegistro_LanPedido_Item_X_Estoque val, TObjetoBanco banco)
        {
            bool pode_liberar = false;
            TCD_LanPedido_Item_X_Estoque qtb_itensXEstoque = new TCD_LanPedido_Item_X_Estoque();

            try
            {
                //Startar Transação
                if (banco == null)
                {
                    qtb_itensXEstoque.CriarBanco_Dados(true);
                    pode_liberar = true;
                }
                else
                {
                    qtb_itensXEstoque.Banco_Dados = banco;
                }

                string retorno = qtb_itensXEstoque.Grava(val);
                if (pode_liberar)
                {
                    qtb_itensXEstoque.Banco_Dados.Commit_Tran();
                }
                return(retorno);
            }
            catch (Exception ex)
            {
                if (pode_liberar)
                {
                    qtb_itensXEstoque.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar pedido x estoque: " + ex.Message.Trim());
            }
            finally
            {
                if (pode_liberar)
                {
                    qtb_itensXEstoque.deletarBanco_Dados();
                }
            }
        }
Example #3
0
        public static string DeletaPedidoItensXEstoque(TRegistro_LanPedido_Item_X_Estoque val, TObjetoBanco banco)
        {
            bool pode_liberar = false;
            TCD_LanPedido_Item_X_Estoque qtb_itensXEstoque = new TCD_LanPedido_Item_X_Estoque();

            try
            {
                //Startar Transação
                if (banco == null)
                {
                    qtb_itensXEstoque.CriarBanco_Dados(true);
                    pode_liberar = true;
                }
                else
                {
                    qtb_itensXEstoque.Banco_Dados = banco;
                }

                if (pode_liberar)
                {
                    qtb_itensXEstoque.Banco_Dados.Commit_Tran();
                }

                return(qtb_itensXEstoque.Deleta(val));
            }
            catch
            {
                qtb_itensXEstoque.Banco_Dados.RollBack_Tran();
                return("");
            }
            finally
            {
                if (pode_liberar)
                {
                    qtb_itensXEstoque.deletarBanco_Dados();
                }
            }
        }