protected void lnkEliminar_Click(object sender, EventArgs e) { RetornoOperacion retorno = new RetornoOperacion(); string depositos = ""; //Seleccionando fila GridViewRow[] selected_rows = Controles.ObtenerFilasSeleccionadas(gvDepositoTesoreria, "chkVarios"); //Verificando que existan filas seleccionadas if (selected_rows.Length != 0) { foreach (GridViewRow row in selected_rows) { gvDepositoTesoreria.SelectedIndex = row.RowIndex; //Instanciar Vale del valor obtenido de la fila seleccionada using (SAT_CL.EgresoServicio.Deposito dep = new SAT_CL.EgresoServicio.Deposito(Convert.ToInt32(gvDepositoTesoreria.DataKeys[row.RowIndex].Value))) { if (dep.id_deposito != 0) { using (SAT_CL.EgresoServicio.DetalleLiquidacion dl = new SAT_CL.EgresoServicio.DetalleLiquidacion(dep.id_deposito, 51)) { if (dl.id_liquidacion == 0) { depositos = dep.no_deposito + " " + depositos; ucSoporte.InicializaControlUsuario(depositos, 2, Convert.ToString(gvDepositoTesoreria.SelectedDataKey["Servicio"])); //Mostrando ventana modal correspondiente ScriptServer.AlternarVentana(lnkEliminar, "Soporte", "soporteTecnicoModal", "soporteTecnico"); } else { retorno = new RetornoOperacion("El deposito " + Convert.ToInt32(gvDepositoTesoreria.SelectedDataKey["Folio"]) + " esta en la liquidacion " + Convert.ToInt32(gvDepositoTesoreria.SelectedDataKey["NoLiquidacion"]) + ", no se puede rechazar."); ScriptServer.MuestraNotificacion(this.Page, retorno.Mensaje, ScriptServer.NaturalezaNotificacion.Error, ScriptServer.PosicionNotificacion.AbajoDerecha); } } } } } } else//Mostrando Mensaje { retorno = new RetornoOperacion("Debe Seleccionar al menos 1 Deposito"); ScriptServer.MuestraNotificacion(this.Page, retorno.Mensaje, ScriptServer.NaturalezaNotificacion.Error, ScriptServer.PosicionNotificacion.AbajoDerecha); } }
/// <summary> /// Metodo encargado de regresar los depositos a tesoreria /// </summary> public RetornoOperacion RegresaDeposito() { RetornoOperacion retorno = new RetornoOperacion(); //Creamos lista de registros List <KeyValuePair <string, byte[]> > registros = new List <KeyValuePair <string, byte[]> >(); //Creamos lista de errores List <string> errores = new List <string>(); //Verificando que el GridView contiene Registros if (gvDepositoTesoreria.DataKeys.Count > 0) {//Obtiene filas seleccionadas GridViewRow[] selected_rows = Controles.ObtenerFilasSeleccionadas(gvDepositoTesoreria, "chkVarios"); //Verificando que existan filas seleccionadas if (selected_rows.Length != 0) { //Almacenando Rutas en arreglo foreach (GridViewRow row in selected_rows) { //Instanciar Deposito a regresar a tesoreria gvDepositoTesoreria.SelectedIndex = row.RowIndex; using (SAT_CL.EgresoServicio.Deposito dep = new SAT_CL.EgresoServicio.Deposito(Convert.ToInt32(gvDepositoTesoreria.SelectedDataKey["Id"]))) { if (dep.id_deposito != 0) { using (TransactionScope trans = TSDK.Datos.Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted)) { retorno = dep.RegresaDepositoTesoreria(((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); if (retorno.OperacionExitosa) { using (SAT_CL.Bancos.EgresoIngreso ei = new SAT_CL.Bancos.EgresoIngreso(51, dep.id_deposito)) { retorno = ei.RegresaDeposito(((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); //SAT_CL.Bancos.EgresoIngreso if (retorno.OperacionExitosa) { //Obteniendo Referencias using (DataTable dtReferencias = SAT_CL.Global.Referencia.CargaReferencias(ei.id_egreso_ingreso, 101)) { //Validando que existan Referencias if (Validacion.ValidaOrigenDatos(dtReferencias)) { //Recorriendo Referencias foreach (DataRow dr in dtReferencias.Rows) { //Instanciando Referencia de Vencimiento using (SAT_CL.Global.Referencia ven = new SAT_CL.Global.Referencia(Convert.ToInt32(dr["Id"]))) { //Validando que exista if (ven.habilitar) { //Eliminando Referencia retorno = SAT_CL.Global.Referencia.EliminaReferencia(ven.id_referencia, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); } } } } } } } } if (retorno.OperacionExitosa) { trans.Complete(); ScriptServer.MuestraNotificacion(this.Page, retorno.Mensaje, ScriptServer.NaturalezaNotificacion.Exito, ScriptServer.PosicionNotificacion.AbajoDerecha); } } } } } } } //Devolviendo Resultado Obtenido return(retorno); }