public void RevertirTributacion(int idFondo, DateTime fechaProceso, string usuario, string tipoProceso) { AtribucionDA atribucionDA = new AtribucionDA(); SqlConnection conTributacion = atribucionDA.GetConnection2(); SqlTransaction transaccionTributacion = null; try { conTributacion.Open(); transaccionTributacion = conTributacion.BeginTransaction(IsolationLevel.ReadUncommitted); atribucionDA.RevertirTributacion(idFondo, fechaProceso, usuario, tipoProceso, conTributacion, transaccionTributacion); transaccionTributacion.Commit(); } catch (Exception ex) { transaccionTributacion.Rollback(); throw ex; } finally { transaccionTributacion.Dispose(); conTributacion.Close(); conTributacion.Dispose(); } }
/// <summary> /// Ejecuta la reversión del precierre /// </summary> /// <param name="idFondo">Fondo que se desea revertir</param> /// <param name="fecha">Fecha de reversión</param> /// <param name="usuario">Usuario responsable de la reversión</param> /*INI 10110*/ /// <param name="motivo">Motivo de la reversión</param> //public void RevertirPrecierre(int idFondo,DateTime fecha, string usuario) public void RevertirPrecierre(int idFondo, DateTime fecha, string usuario, string motivo) /*FIN 10110*/ { ReversionDA da = new ReversionDA(); /*INICIO 8844*/ AtribucionDA atribucionDA = new AtribucionDA(); /*FIN 8844*/ da.Database = INGFondos.Constants.Conexiones.BaseDeDatosOperaciones; da.Server = INGFondos.Constants.Conexiones.ServidorOperaciones; //OT 7968 INI ReversionDA daDepositos = new ReversionDA(); daDepositos.Database = INGFondos.Constants.Conexiones.BaseDeDatosBancos; daDepositos.Server = INGFondos.Constants.Conexiones.ServidorBancos; //OT 7968 FIN SqlConnection cn = da.GetConnection2(); //OT 7968 INI //SqlConnection cnDepositos = daDepositos.GetConnection2(); SqlConnection cnDepositos = daDepositos.GetConnection2(); //OT 7968 FIN //INICIO OT8844 SqlConnection cnTributacion = atribucionDA.GetConnection2(); cnTributacion.Open(); SqlTransaction transTributacion = cnTributacion.BeginTransaction(IsolationLevel.ReadUncommitted); //FIN OT8844 cn.Open(); //OT 7968 INI cnDepositos.Open(); //OT 7968 FIN SqlTransaction trans = cn.BeginTransaction(); //OT 7968 INI SqlTransaction transDepositos = cnDepositos.BeginTransaction(); //OT 7968 FIN try { //OT 8292 INI //da.RevertirPrecierre(cn, trans, idFondo, fecha, usuario); /*INI 10110*/ //decimal idPrecierre = da.RevertirPrecierre(cn, trans, idFondo, fecha, usuario); decimal idPrecierre = da.RevertirPrecierre(cn, trans, idFondo, fecha, usuario, motivo); /*FIN 10110*/ //OT 8292 FIN da.EjecutarReversionExcesos(idFondo, fecha, usuario, cn, trans); // 7370 - PSC001 da.EjecutarReversionRescatesSignificativos(idFondo, fecha, usuario, cn, trans); // 7370 - PSC001 //OT 7968 INI //OT 8292 INI //daDepositos.EjecutarReversionDepositos(cnDepositos, transDepositos, idFondo, fecha, usuario); daDepositos.EjecutarReversionDepositos(cnDepositos, transDepositos, idFondo, fecha, idPrecierre, usuario); //OT 8292 FIN //OT 7968 FIN //INICIO OT8844 if (fecha.Year < fecha.AddDays(1).Year) // Si al día siguiente es otro año { atribucionDA.RevertirTributacion(idFondo, fecha, usuario, "S", cnTributacion, transTributacion); } atribucionDA.RevertirTributacion(idFondo, fecha, usuario, "D", cnTributacion, transTributacion); transTributacion.Commit(); //FIN OT8844 trans.Commit(); //OT 7968 INI transDepositos.Commit(); //OT 7968 FIN } catch (Exception e) { trans.Rollback(); //OT 7968 INI transDepositos.Rollback(); //OT 7968 FIN throw e; } finally { trans.Dispose(); cn.Close(); //OT 7968 INI transDepositos.Dispose(); cnDepositos.Close(); //OT 7968 FIN } }