/// <summary> /// Recupera el objeto addenda del tipo y comprobante solicitado /// </summary> /// <param name="id_addenda_emisor">Id de relación Addenda, Emisor y Receptor</param> /// <param name="id_comprobante">Id de Comprobante</param> /// <returns></returns> public static AddendaComprobante RecuperaAddendaComprobanteV33(int id_addenda_emisor, int id_comprobante) { //Definiendo objeto de resultado AddendaComprobante addenda = new AddendaComprobante(); //Realizando consulta a base de datos using (DataTable mit = CargaAddendaEmisorComprobanteV33(id_addenda_emisor, id_comprobante)) { //Si el origen de datos es válido if (Validacion.ValidaOrigenDatos(mit)) { //Para cada registro devuelto foreach (DataRow r in mit.Rows) { //Asignando atributos de registo addenda = new AddendaComprobante(Convert.ToInt32(r["IdAddendaComprobante"])); } } } //Devolviendo resultado return(addenda); }
/// <summary> /// Realiza la deshabilitación de los registros addenda ligados al comprobante indicado /// </summary> /// <param name="id_comprobante">Id de Comprobante</param> /// <param name="id_usuario">Id de Usuario</param> /// <param name="transaccion">Transacción</param> /// <returns></returns> public static RetornoOperacion EliminaAddendasComprobanteV33(int id_comprobante, int id_usuario) { //Definiendo objeto de resultado RetornoOperacion resultado = new RetornoOperacion(id_comprobante); //Creamos la transacción using (System.Transactions.TransactionScope scope = Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted)) { //Cargando Addendas del comprobante using (DataTable mit = CargaAddendaEmisorComprobanteV33(0, id_comprobante)) { //Si existen registros if (Validacion.ValidaOrigenDatos(mit)) { //Para cada una de las addendas capturadas foreach (DataRow a in mit.Rows) { //Instanciando registros using (AddendaComprobante ac = new AddendaComprobante(Convert.ToInt32(a["IdAddendaComprobante"]))) { //Realziando deshabilitación resultado = ac.DeshabilitaAddendaComprobante(id_usuario); //Si existe error if (!resultado.OperacionExitosa) { //Saliendo de ciclo break; } } } } } //Validamos Resultado if (resultado.OperacionExitosa) { //Finalizamos transacción scope.Complete(); } } //Devolviendo resultado return(resultado); }