Пример #1
0
        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);
            }
        }
Пример #2
0
        /// <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);
        }