Exemplo n.º 1
0
        /// <summary>
        /// Evento Producido al dar click en boton Aceptar
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnAceptar_Click(object sender, EventArgs e)
        {
            string OpeAnt = "";

            //Seleccionando fila
            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 //&& Convert.ToInt32(op["IdEstatus"]) == 3
                                                     select op).ToList();
                        if (operadores.Count > 0)
                        {
                            foreach (DataRow dr in operadores)
                            {
                                using (SAT_CL.Despacho.MovimientoAsignacionRecurso mar = new SAT_CL.Despacho.MovimientoAsignacionRecurso(Convert.ToInt32(dr["Id"])))
                                    if (mar.habilitar)
                                    {
                                        using (SAT_CL.Global.Operador o = new SAT_CL.Global.Operador(mar.id_recurso_asignado))
                                        {
                                            OpeAnt = o.nombre + "Nuevo Operador:" + Cadena.RegresaCadenaSeparada(txtNuevoOpe.Text, "ID:", 0, "0");
                                        }
                                    }
                            }
                        }
                    }
                }
            }

            ucSoporte.InicializaControlUsuario(OpeAnt, 3, Convert.ToString(gvMovimientos.SelectedDataKey["NoServicio"]));
            //inicializaCambioOperador(OpeAnt);
            //Mostrando ventana modal correspondiente
            ScriptServer.AlternarVentana(btnAcepta, "Soporte", "soporteTecnicoModal", "soporteTecnico");
            ScriptServer.AlternarVentana(btnAcepta, "CambioOpe", "cambioOperadorModal", "cambioOperador");
        }
Exemplo n.º 2
0
        ///// <summary>
        ///// Evento disparado al cambiar CheckedChanged propiedad de CheckBox
        ///// </summary>
        ///// <param name="sender"></param>
        ///// <param name="e"></param>
        //protected void chkTodos_CheckedChanged(object sender, EventArgs e)
        //{   //Validando Si el GridView contiene Registros
        //    if (gvMovimientos.DataKeys.Count > 0)
        //    {   //Evalua el ID del CheckBox en el que se produce el cambio
        //        switch (((CheckBox)sender).ID)
        //        {   //Caso para el CheckBox "Todos"
        //            case "chkTodos"://Se crea un CheckBox donde se le asigna el Control CheckBox con el ID "chkTodos"
        //                CheckBox chk = (CheckBox)gvMovimientos.HeaderRow.FindControl("chkTodos");
        //                //Asigna el Valor de "ChkTodos" a todos los Controles CheckBox
        //                TSDK.ASP.Controles.SeleccionaFilasTodas(gvMovimientos, "chkVarios", chk.Checked);
        //                break;
        //        }
        //        CargarDatos();
        //    }
        //}
        #endregion

        #region VentanaModal "Cambio Operador"
        /// <summary>
        /// Evento Producido al dar click en boton Cambiar
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void lnkCambiar_Click(object sender, EventArgs e)
        {
            string OpeAnt = "";
            //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
                using (SAT_CL.Documentacion.Servicio s = new SAT_CL.Documentacion.Servicio(txtNoServicio.Text, txtNoViaje.Text, ((SAT_CL.Seguridad.UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor))
                    //TODO: Obtener Detalles de liquidación del servicio y/ó movimientos
                    using (DataTable dtDetalles = SAT_CL.EgresoServicio.DetalleLiquidacion.ObtieneDetallesLiquidacionXServicioMovimiento(s.id_servicio))
                    {
                        /*** Si existen registros de la tabla 79/114 (Pago/Comprobación) ***/

                        //Mando la escepción
                        //Personaliizar excepción: "El Servicio se encuentra pagado en la Liq. '{0}', elimine el pago para poderla cambiar"
                        if (Validacion.ValidaOrigenDatos(dtDetalles))
                        {
                            List <DataRow> detalles = (from DataRow dt in dtDetalles.AsEnumerable()
                                                       where Convert.ToInt32(dt["IdTabla"]) == 79 || Convert.ToInt32(dt["IdTabla"]) == 104
                                                       select dt).ToList();
                            int det = (from DataRow r in dtDetalles.Rows
                                       where r.Field <int>("IdTabla") == 79 || r.Field <int>("IdTabla") == 104
                                       select r.Field <int>("NoLiquidacion")).FirstOrDefault();
                            if (detalles.Count == 0)
                            {
                                GridViewRow[] selected_rows = Controles.ObtenerFilasSeleccionadas(gvMovimientos, "chkVarios");
                                //Verificando que existan filas seleccionadas
                                if (selected_rows.Length != 0)
                                {
                                    foreach (GridViewRow row in selected_rows)
                                    {//Instanciar Recurso del valor obtenido de la fila seleccionada
                                        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 //&& Convert.ToInt32(op["IdEstatus"]) == 3
                                                                             select op).ToList();
                                                if (operadores.Count > 0)
                                                {
                                                    foreach (DataRow dr in operadores)
                                                    {
                                                        using (SAT_CL.Despacho.MovimientoAsignacionRecurso mar = new SAT_CL.Despacho.MovimientoAsignacionRecurso(Convert.ToInt32(dr["Id"])))
                                                        {     //Validando que existen registros
                                                            if (mar.habilitar)
                                                            { //Instanciando Clase operador
                                                                using (SAT_CL.Global.Operador o = new SAT_CL.Global.Operador(mar.id_recurso_asignado))
                                                                {
                                                                    OpeAnt = o.nombre;                //Mostrando nombre del operador anterior
                                                                    inicializaCambioOperador(OpeAnt); //Inicializa ventana modal
                                                                                                      //Mostrando ventana modal correspondiente
                                                                    ScriptServer.AlternarVentana(lnkCambiar, "CambioOpe", "cambioOperadorModal", "cambioOperador");
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                                else//Mostrando Mensaje
                                                {
                                                    ScriptServer.MuestraNotificacion(this.Page, "El operador esta liquidado", ScriptServer.NaturalezaNotificacion.Error, ScriptServer.PosicionNotificacion.AbajoDerecha);
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                            else
                            {
                                ScriptServer.MuestraNotificacion(this.Page, string.Format("El Servicio se encuentra pagado en la Liq. '{0}', elimine el pago para poderla cambiar", det), ScriptServer.NaturalezaNotificacion.Error, ScriptServer.PosicionNotificacion.AbajoDerecha);
                            }
                        }
                        else
                        {
                            GridViewRow[] selected_rows = Controles.ObtenerFilasSeleccionadas(gvMovimientos, "chkVarios");
                            //Verificando que existan filas seleccionadas
                            if (selected_rows.Length != 0)
                            {
                                foreach (GridViewRow row in selected_rows)
                                {//Instanciar Recurso del valor obtenido de la fila seleccionada
                                    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 //&& Convert.ToInt32(op["IdEstatus"]) == 3
                                                                         select op).ToList();
                                            if (operadores.Count > 0)
                                            {
                                                foreach (DataRow dr in operadores)
                                                {
                                                    using (SAT_CL.Despacho.MovimientoAsignacionRecurso mar = new SAT_CL.Despacho.MovimientoAsignacionRecurso(Convert.ToInt32(dr["Id"])))
                                                    {     //Validando que existen registros
                                                        if (mar.habilitar)
                                                        { //Instanciando Clase operador
                                                            using (SAT_CL.Global.Operador o = new SAT_CL.Global.Operador(mar.id_recurso_asignado))
                                                            {
                                                                OpeAnt = o.nombre;                //Mostrando nombre del operador anterior
                                                                inicializaCambioOperador(OpeAnt); //Inicializa ventana modal
                                                                                                  //Mostrando ventana modal correspondiente
                                                                ScriptServer.AlternarVentana(lnkCambiar, "CambioOpe", "cambioOperadorModal", "cambioOperador");
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                            else//Mostrando Mensaje
                                            {
                                                ScriptServer.MuestraNotificacion(this.Page, "El operador esta liquidado", ScriptServer.NaturalezaNotificacion.Error, ScriptServer.PosicionNotificacion.AbajoDerecha);
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
            }
            else//Mostrando Mensaje
            {
                ScriptServer.MuestraNotificacion(this.Page, "Debe Seleccionar un Movimiento", ScriptServer.NaturalezaNotificacion.Error, ScriptServer.PosicionNotificacion.AbajoDerecha);
            }
        }
Exemplo n.º 3
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);
        }