Esempio n. 1
0
        public static string Excluir(TRegistro_TransfLocal val, TObjetoBanco banco)
        {
            bool            st_transacao       = false;
            TCD_TransfLocal qtb_LanTransfLocal = new TCD_TransfLocal();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_LanTransfLocal.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_LanTransfLocal.Banco_Dados = banco;
                }

                qtb_LanTransfLocal.Excluir(val);

                if (st_transacao)
                {
                    qtb_LanTransfLocal.Banco_Dados.Commit_Tran();
                }

                return("OK");
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_LanTransfLocal.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro exclui transf.: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_LanTransfLocal.deletarBanco_Dados();
                }
            }
        }
Esempio n. 2
0
        public static string Gravar(TRegistro_TransfLocal val, BancoDados.TObjetoBanco banco)
        {
            bool            st_transacao = false;
            TCD_TransfLocal qtb_transf   = new TCD_TransfLocal();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_transf.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_transf.Banco_Dados = banco;
                }
                //Gravar Transferencia
                val.Id_transf = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(qtb_transf.Gravar(val), "@P_ID_TRANSF"));
                //Buscar valor medio do estoque
                decimal vl_estoque_medio = 0;
                if (TCN_LanEstoque.VlMedioEstoque(val.Cd_empresaorigem, val.Cd_produto, ref vl_estoque_medio, qtb_transf.Banco_Dados))
                {
                    //Gravar estoque de saida do produto do local de origem
                    string id_estoque_sai = TCN_LanEstoque.GravarEstoque(new TRegistro_LanEstoque()
                    {
                        Cd_produto   = val.Cd_produto,
                        Cd_empresa   = val.Cd_empresaorigem,
                        Cd_local     = val.Cd_localorigem,
                        Dt_lancto    = val.Dt_lancto,
                        St_registro  = "A",
                        Tp_lancto    = "T",
                        Tp_movimento = "S",
                        Qtd_saida    = val.Quantidade,
                        Qtd_entrada  = decimal.Zero,
                        Vl_unitario  = vl_estoque_medio,
                        Vl_subtotal  = vl_estoque_medio * val.Quantidade
                    }, qtb_transf.Banco_Dados);
                    //Gravar Transferencia X Estoque de saida
                    TCN_LanTransfLocal_X_Estoque.GravarTransLocal_X_Estoque(new TRegistro_LanTransfLocal_X_Estoque()
                    {
                        Id_transf        = val.Id_transf.Value,
                        Cd_empresa       = val.Cd_empresaorigem,
                        Cd_produto       = val.Cd_produto,
                        Id_lanctoestoque = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(id_estoque_sai, "@@P_ID_LANCTOESTOQUE"))
                    }, qtb_transf.Banco_Dados);
                    //Gravar estoque de entrada do produto no local de destino
                    string id_estoque_ent = TCN_LanEstoque.GravarEstoque(new TRegistro_LanEstoque()
                    {
                        Cd_produto   = val.Cd_produto,
                        Cd_empresa   = val.Cd_empresadestino,
                        Cd_local     = val.Cd_localdestino,
                        Dt_lancto    = val.Dt_lancto,
                        St_registro  = "A",
                        Tp_lancto    = "T",
                        Tp_movimento = "E",
                        Qtd_saida    = decimal.Zero,
                        Qtd_entrada  = val.Quantidade,
                        Vl_unitario  = vl_estoque_medio,
                        Vl_subtotal  = vl_estoque_medio * val.Quantidade
                    }, qtb_transf.Banco_Dados);
                    //Gravar Transferencia X Estoque de entrada
                    TCN_LanTransfLocal_X_Estoque.GravarTransLocal_X_Estoque(new TRegistro_LanTransfLocal_X_Estoque()
                    {
                        Id_transf        = val.Id_transf.Value,
                        Cd_empresa       = val.Cd_empresadestino,
                        Cd_produto       = val.Cd_produto,
                        Id_lanctoestoque = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(id_estoque_ent, "@@P_ID_LANCTOESTOQUE"))
                    }, qtb_transf.Banco_Dados);
                }
                else
                {
                    throw new Exception("Não Existe Valor Médio Para o Produto ");
                }

                if (st_transacao)
                {
                    qtb_transf.Banco_Dados.Commit_Tran();
                }

                return(val.Id_transf.Value.ToString());
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_transf.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar transf.: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_transf.deletarBanco_Dados();
                }
            }
        }