Beispiel #1
0
        public static string Grava_LanCMP_Requisicao(TRegistro_LanCMP_Requisicao val, BancoDados.TObjetoBanco banco)
        {
            bool pode_comitar        = false;
            TCD_LanCMP_Requisicao cd = new TCD_LanCMP_Requisicao();

            try
            {
                if (banco == null)
                {
                    cd.CriarBanco_Dados(true);
                    pode_comitar = true;
                }
                else
                {
                    cd.Banco_Dados = banco;
                }

                //Grava requisicao
                string retreq = cd.Grava(val);
                for (int x = 0; x < val.lDetalheRequisicao.Count; x++)
                {
                    val.lDetalheRequisicao[x].Id_Requisicao = Convert.ToDecimal(Querys.TDataQuery.getPubVariavel(retreq, "@P_ID_REQUISICAO"));
                    TCN_LanDetalheRequisicao.Grava_LanDetalheRequisicao(val.lDetalheRequisicao[x], cd.Banco_Dados);
                }
                if (pode_comitar)
                {
                    cd.Banco_Dados.Commit_Tran();
                }
                return(retreq);
            }
            catch (System.Data.SqlClient.SqlException ex)
            {
                if (pode_comitar)
                {
                    cd.Banco_Dados.RollBack_Tran();
                }
                else
                {
                    throw new Exception(ex.Message);
                }
                return("");
            }
            finally
            {
                if (pode_comitar)
                {
                    cd.deletarBanco_Dados();
                }
            }
        }