Beispiel #1
0
        /// <summary>
        /// Realiza el cambio de operador
        /// </summary>
        public RetornoOperacion CambiaOperador()
        {
            RetornoOperacion retorno = new RetornoOperacion();
            //Creamos lita 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 (gvMovimientos.DataKeys.Count > 0)
            {
                //Obtiene filas seleccionadas
                GridViewRow[] selected_rows = Controles.ObtenerFilasSeleccionadas(gvMovimientos, "chkVarios");
                //Verificando que existan filas seleccionadas
                if (selected_rows.Length != 0)
                {
                    foreach (GridViewRow row in selected_rows)
                    {
                        gvMovimientos.SelectedIndex = row.RowIndex;
                        using (DataTable dtAsignaciones = SAT_CL.Despacho.MovimientoAsignacionRecurso.CargaAsignaciones(Convert.ToInt32(gvMovimientos.SelectedDataKey["NoMovimiento"]), MovimientoAsignacionRecurso.Estatus.Terminado))
                        {
                            if (Validacion.ValidaOrigenDatos(dtAsignaciones))
                            {
                                List <DataRow> operadores = (from DataRow op in dtAsignaciones.AsEnumerable()
                                                             where Convert.ToInt32(op["IdTipoAsignacion"]) == 2
                                                             select op).ToList();
                                if (operadores.Count > 0)
                                {
                                    using (TransactionScope trans = TSDK.Datos.Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted))
                                    {
                                        foreach (DataRow dr in operadores)
                                        {
                                            using (SAT_CL.Despacho.MovimientoAsignacionRecurso mar = new SAT_CL.Despacho.MovimientoAsignacionRecurso(Convert.ToInt32(dr["Id"])))
                                            {
                                                if (mar.habilitar)
                                                {
                                                    retorno = mar.ActualizaOperadorMovimientoAsignacionRecurso(Convert.ToInt32((Cadena.RegresaCadenaSeparada(txtNuevoOpe.Text, "ID:", 1, "1"))), ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);
                                                    if (retorno.OperacionExitosa)
                                                    {
                                                        using (DataTable dtAnticipos = SAT_CL.EgresoServicio.DetalleLiquidacion.CargaAnticipos(Convert.ToInt32(gvMovimientos.SelectedDataKey["NoMovimiento"])))
                                                        {
                                                            if (dtAnticipos != null)
                                                            {
                                                                if (Validacion.ValidaOrigenDatos(dtAnticipos))
                                                                {
                                                                    List <DataRow> depositos = (from DataRow dep in dtAnticipos.AsEnumerable()
                                                                                                where Convert.ToInt32(dep["IdTabla"]) == 51
                                                                                                select dep).ToList();
                                                                    if (depositos.Count > 0)
                                                                    {
                                                                        foreach (DataRow de in depositos)
                                                                        {
                                                                            using (SAT_CL.EgresoServicio.Deposito d = new SAT_CL.EgresoServicio.Deposito(Convert.ToInt32(de["IdRegistro"])))
                                                                            {
                                                                                if (d.habilitar && d.objDetalleLiquidacion.habilitar)
                                                                                {
                                                                                    retorno = d.objDetalleLiquidacion.ActualizaOperadorDetalleLiquidacion(Convert.ToInt32((Cadena.RegresaCadenaSeparada(txtNuevoOpe.Text, "ID:", 1, "1"))), ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);
                                                                                    if (retorno.OperacionExitosa)
                                                                                    {
                                                                                        if (!d.bit_efectivo)
                                                                                        {
                                                                                            using (CuentaBancos objCuentaBancos = CuentaBancos.ObtieneCuentaBanco(76, Convert.ToInt32((Cadena.RegresaCadenaSeparada(txtNuevoOpe.Text, "ID:", 1, "1"))), CuentaBancos.TipoCuenta.Default))
                                                                                            {
                                                                                                retorno = d.EditaDepositoCuentaDestino(objCuentaBancos.id_cuenta_bancos, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);
                                                                                                if (retorno.OperacionExitosa)
                                                                                                {
                                                                                                    using (SAT_CL.Bancos.EgresoIngreso ei = new SAT_CL.Bancos.EgresoIngreso(51, Convert.ToInt32(de["IdRegistro"])))
                                                                                                    {
                                                                                                        if (ei.habilitar)
                                                                                                        {
                                                                                                            retorno = ei.EditaCuentaDestino(objCuentaBancos.id_cuenta_bancos, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);
                                                                                                        }
                                                                                                    }
                                                                                                }
                                                                                            }
                                                                                        }
                                                                                    }
                                                                                }
                                                                                else
                                                                                {
                                                                                    retorno = new RetornoOperacion("No hay depositos para este movimiento");
                                                                                    break;
                                                                                }
                                                                            }
                                                                        }
                                                                    }
                                                                    List <DataRow> vales = (from DataRow val in dtAnticipos.AsEnumerable()
                                                                                            where Convert.ToInt32(val["IdTabla"]) == 69
                                                                                            select val).ToList();
                                                                    if (vales.Count > 0)
                                                                    {
                                                                        foreach (DataRow va in vales)
                                                                        {
                                                                            using (SAT_CL.EgresoServicio.DetalleLiquidacion dl = new SAT_CL.EgresoServicio.DetalleLiquidacion(Convert.ToInt32(va["IdRegistro"]), 69))
                                                                            {
                                                                                if (dl.habilitar)
                                                                                {
                                                                                    retorno = dl.ActualizaOperadorDetalleLiquidacion(Convert.ToInt32((Cadena.RegresaCadenaSeparada(txtNuevoOpe.Text, "ID:", 1, "1"))), ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);
                                                                                    if (retorno.OperacionExitosa)
                                                                                    {
                                                                                        using (CuentaBancos objCuentaBancos = CuentaBancos.ObtieneCuentaBanco(76, Convert.ToInt32((Cadena.RegresaCadenaSeparada(txtNuevoOpe.Text, "ID:", 1, "1"))), CuentaBancos.TipoCuenta.Default))
                                                                                        {
                                                                                            //    retorno = d.EditaDepositoCuentaDestino(objCuentaBancos.id_cuenta_bancos, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);
                                                                                            //if (retorno.OperacionExitosa)
                                                                                            //{
                                                                                            using (SAT_CL.Bancos.EgresoIngreso ei = new SAT_CL.Bancos.EgresoIngreso(51, Convert.ToInt32(va["IdRegistro"])))
                                                                                            {
                                                                                                if (ei.habilitar)
                                                                                                {
                                                                                                    retorno = ei.EditaCuentaDestino(objCuentaBancos.id_cuenta_bancos, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);
                                                                                                }
                                                                                            }
                                                                                        }
                                                                                        // }
                                                                                        //}
                                                                                    }
                                                                                }
                                                                                else
                                                                                {
                                                                                    retorno = new RetornoOperacion("No hay vales para este movimiento");
                                                                                    break;
                                                                                }
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                                else
                                                                {
                                                                    retorno = new RetornoOperacion("No hay anticipos para este movimiento");
                                                                    break;
                                                                }
                                                            }
                                                            //(retorno.OperacionExitosa)
                                                        }
                                                    }
                                                }
                                                else
                                                {
                                                    retorno = new RetornoOperacion("No se puede recuperar la asignacion");
                                                    break;
                                                }
                                            }
                                        }
                                        if (retorno.OperacionExitosa)
                                        {
                                            trans.Complete();
                                        }
                                    }
                                }
                                else
                                {
                                    retorno = new RetornoOperacion("No hay operadores para este movimiento");
                                    break;
                                }
                            }
                        }
                    }
                }
            }
            return(retorno);
        }
Beispiel #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);
        }