Beispiel #1
0
        public async Task <IActionResult> OnPostAsync()
        {
            seg_usuarios_estatu.FechaReg = DateTime.Now;
            //seg_usuarios_estatu.FechaUltMod = DateTime.Now;
            seg_usuarios_estatu.Activo  = "S";
            seg_usuarios_estatu.Borrado = "N";
            //seg_usuarios_estatu.UsuarioMod = Microsoft.AspNetCore.Mvc.Razor.Global.name;
            seg_usuarios_estatu.UsuarioReg    = Microsoft.AspNetCore.Mvc.Razor.Global.name;
            seg_usuarios_estatu.Actual        = "S";
            seg_usuarios_estatu.FechaEstatus  = DateTime.Now;
            seg_usuarios_estatu.IdTipoEstatus = 4;

            _context.seg_usuarios_estatus.Add(seg_usuarios_estatu);
            await _context.SaveChangesAsync();

            var cambiarPrincipal = await _context.seg_usuarios_estatus.SingleOrDefaultAsync
                                       (m => m.IdCrtlEstatus != seg_usuarios_estatu.IdCrtlEstatus && m.Actual == "S" && m.IdUsuario == seg_usuarios_estatu.IdUsuario);

            //Si es nulo significa que aun no registraban ningun domicilio como principal
            if (cambiarPrincipal != null)
            {
                cambiarPrincipal.Actual = "N";
                _context.SaveChanges();
            }//if cambiarPrincipal != null

            return(RedirectToPage("./Index"));
        }
Beispiel #2
0
        public async Task <IActionResult> OnPostAsync(bool ExpiraP)
        {
            var usuarioExiste = await _context.cat_usuarios.SingleOrDefaultAsync(m => m.Usuario == cat_usuario.Usuario);

            //Signfica que si encontro coincidencias, entonces le mandamos un mensaje de que ya existe
            if (usuarioExiste != null)
            {
                ViewData["IdPersona"] = new SelectList(_context.rh_cat_personas, "IdPersona", "Nombre");
                ViewData["Error"]     = "El usuario \"" + cat_usuario.Usuario + "\" ya se encuentra registrado!";
                return(Page());
            }

            cat_usuario.Conectado   = "N";
            cat_usuario.FechaAlta   = DateTime.Now;
            cat_usuario.FechaReg    = DateTime.Now;
            cat_usuario.FechaUltMod = DateTime.Now;
            cat_usuario.Activo      = "S";
            cat_usuario.Borrado     = "N";
            cat_usuario.UsuarioMod  = Microsoft.AspNetCore.Mvc.Razor.Global.name;
            cat_usuario.UsuarioReg  = Microsoft.AspNetCore.Mvc.Razor.Global.name;

            //Si selecciono de expirar o no
            if (ExpiraP)
            {
                cat_usuario.Expira = "S";
            }
            else
            {
                cat_usuario.Expira = "N";
            }

            if (!ModelState.IsValid)
            {
                return(Page());
            }

            _context.cat_usuarios.Add(cat_usuario);
            await _context.SaveChangesAsync();

            //Una ve que se crea el usuario, se le asigna el estatus activo por defecto
            estatu.IdUsuario    = cat_usuario.IdUsuario;
            estatu.FechaEstatus = DateTime.Now;
            estatu.Actual       = "S";
            estatu.Observacion  = "Creación del usuario";
            //estatu.FechaUltMod = DateTime.Now;
            estatu.UsuarioReg = "Admin";
            //estatu.UsuarioMod = "Admin";
            estatu.Activo        = "S";
            estatu.Borrado       = "N";
            estatu.FechaReg      = DateTime.Now;
            estatu.IdTipoEstatus = 4;
            estatu.IdEstatus     = 1;

            var result = _context.Add(estatu);

            _context.SaveChanges(); // Saving Data in database


            return(RedirectToPage("./Index"));
        }
Beispiel #3
0
        public async Task <IActionResult> OnPostAsync(bool ClaveSys)
        {
            var passwordExiste = await _context.seg_expira_claves.SingleOrDefaultAsync(m => m.IdUsuario == seg_expira_clave.IdUsuario && m.Clave == seg_expira_clave.Clave);

            if (passwordExiste != null)
            {
                ViewData["Error"] = "La contraseña \"" + seg_expira_clave.Clave + "\" ya se encuentra registrada, es necesario escribir contraseñas diferentes!";
                return(Page());
            }

            seg_expira_clave.FechaReg = DateTime.Now;
            //seg_expira_clave.FechaUltMod = DateTime.Now;
            seg_expira_clave.Activo  = "S";
            seg_expira_clave.Borrado = "N";
            seg_expira_clave.Actual  = "S";
            //seg_expira_clave.UsuarioMod = Microsoft.AspNetCore.Mvc.Razor.Global.name;
            seg_expira_clave.UsuarioReg = Microsoft.AspNetCore.Mvc.Razor.Global.name;

            if (ClaveSys)
            {
                seg_expira_clave.ClaveAutoSys = "S";
            }
            else
            {
                seg_expira_clave.ClaveAutoSys = "N";
            }

            _context.seg_expira_claves.Add(seg_expira_clave);

            if (seg_expira_clave.Actual == "S")
            {
                var cambiarPrincipal = await _context.seg_expira_claves.SingleOrDefaultAsync
                                           (m => m.IdClave != seg_expira_clave.IdClave && m.Actual == "S" && m.IdUsuario == seg_expira_clave.IdUsuario);

                //Si es nulo significa que aun no tenia ninguna contraseña actual
                if (cambiarPrincipal != null)
                {
                    cambiarPrincipal.Actual = "N";
                    _context.SaveChanges();
                } //if cambiarPrincipal != null
            }     //if principal == S

            await _context.SaveChangesAsync();

            return(RedirectToPage("./Index"));
        }
Beispiel #4
0
        public async Task <IActionResult> OnPostAsync(bool DirWebP)
        {
            rh_cat_dir_web.FechaReg    = DateTime.Now;
            rh_cat_dir_web.FechaUltMod = DateTime.Now;
            rh_cat_dir_web.Activo      = "S";
            rh_cat_dir_web.Borrado     = "N";
            rh_cat_dir_web.UsuarioMod  = Microsoft.AspNetCore.Mvc.Razor.Global.name;
            rh_cat_dir_web.UsuarioReg  = Microsoft.AspNetCore.Mvc.Razor.Global.name;

            //Si marco el checkbox entonces SI es el domicilio principal
            //de lo contrario entonces NO lo es
            if (DirWebP)
            {
                rh_cat_dir_web.Principal = "S";
            }
            else
            {
                rh_cat_dir_web.Principal = "N";
            }

            _context.rh_cat_dir_web.Add(rh_cat_dir_web);

            if (rh_cat_dir_web.Principal == "S")
            {
                var cambiarPrincipal = await _context.rh_cat_dir_web.SingleOrDefaultAsync
                                           (m => m.IdDirWeb != rh_cat_dir_web.IdDirWeb && m.Principal == "S");

                //Si es nulo significa que aun no registraban ninguna direccion web como principal
                if (cambiarPrincipal != null)
                {
                    cambiarPrincipal.Principal = "N";
                    _context.SaveChanges();
                } //if cambiarPrincipal != null
            }     //if principal == S

            await _context.SaveChangesAsync();

            //asp-route-idP="@Model.IdP" asp-route-control="@Model.Control" asp-route-searchString="@Model.SearchString" asp-route-ap="@Model.Ap" asp-route-am="@Model.Am"

            return(RedirectToPage("./Details", new { id = rh_cat_dir_web.IdDirWeb, idP = IdP, control = Control, searchString = SearchString, ap = Ap, am = Am }));
        }
Beispiel #5
0
        //Método POST
        public async Task <IActionResult> OnPostAsync(bool DomicilioP)
        {
            //Datos que se deben ingresar automaticamente por el sistema
            rh_cat_domicilio.FechaReg    = DateTime.Now;
            rh_cat_domicilio.FechaUltMod = DateTime.Now;
            rh_cat_domicilio.Activo      = "S";
            rh_cat_domicilio.Borrado     = "N";
            rh_cat_domicilio.UsuarioMod  = Microsoft.AspNetCore.Mvc.Razor.Global.name;
            rh_cat_domicilio.UsuarioReg  = Microsoft.AspNetCore.Mvc.Razor.Global.name;

            //Si marco el checkbox entonces SI es el domicilio principal
            //de lo contrario entonces NO lo es
            if (DomicilioP)
            {
                rh_cat_domicilio.Principal = "S";
            }
            else
            {
                rh_cat_domicilio.Principal = "N";
            }

            _context.rh_cat_domicilios.Add(rh_cat_domicilio);

            if (rh_cat_domicilio.Principal == "S")
            {
                var cambiarPrincipal = await _context.rh_cat_domicilios.SingleOrDefaultAsync
                                           (m => m.IdDomicilio != rh_cat_domicilio.IdDomicilio && m.Principal == "S");

                //Si es nulo significa que aun no registraban ningun domicilio como principal
                if (cambiarPrincipal != null)
                {
                    cambiarPrincipal.Principal = "N";
                    _context.SaveChanges();
                } //if cambiarPrincipal != null
            }     //if principal == S

            await _context.SaveChangesAsync();

            return(RedirectToPage("./Details", new { id = rh_cat_domicilio.IdDomicilio }));
        }
Beispiel #6
0
        public async Task <IActionResult> OnPostAsync(bool TelP, bool ActivoP, bool BorradoP)
        {
            rh_cat_telefono.FechaUltMod = DateTime.Now;
            rh_cat_telefono.UsuarioMod  = Microsoft.AspNetCore.Mvc.Razor.Global.name;

            if (!ModelState.IsValid)
            {
                return(Page());
            }

            //Si marco el checkbox entonces SI es el domicilio principal
            //de lo contrario entonces NO lo es
            if (TelP)
            {
                rh_cat_telefono.Principal = "S";
            }
            else
            {
                rh_cat_telefono.Principal = "N";
            }
            //Activo
            if (ActivoP)
            {
                rh_cat_telefono.Activo = "S";
            }
            else
            {
                rh_cat_telefono.Activo = "N";
            }
            //Borrado
            if (BorradoP)
            {
                rh_cat_telefono.Borrado = "S";
            }
            else
            {
                rh_cat_telefono.Borrado = "N";
            }

            _context.Attach(rh_cat_telefono).State = EntityState.Modified;

            //Si es el telefono principal entonces tiene que buscar si hay otro para desmarcarlo
            if (rh_cat_telefono.Principal == "S")
            {
                var cambiarPrincipal = await _context.rh_cat_telefonos.SingleOrDefaultAsync
                                           (m => m.IdTelefono != rh_cat_telefono.IdTelefono && m.Principal == "S");

                if (cambiarPrincipal != null)
                {
                    cambiarPrincipal.Principal = "N";
                    _context.SaveChanges();
                } //if cambiarPrincipal != null
            }     //if principal == S

            //Si quiere quitar el telefono principal primero debemos de ver que no sea el ultimo
            else
            {
                var cambiarPrincipal = await _context.rh_cat_telefonos.SingleOrDefaultAsync
                                           (m => m.IdTelefono != rh_cat_telefono.IdTelefono && m.Principal == "S");

                //Si es nulo significa que va a dejar sin telefono principal, entonces no lo dejamos desmarcar la casilla
                if (cambiarPrincipal == null)
                {
                    rh_cat_telefono.Principal = "S";
                    _context.SaveChanges();
                }//if cambiarPrincipal == null
            }

            //Intenta actualizar y verificar que no se haya eliminado mientras otro usuario modificaba/eliminaba el mismo registro
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!rh_cat_telefonoExists(rh_cat_telefono.IdTelefono))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(RedirectToPage("./Details", new { id = rh_cat_telefono.IdTelefono }));
        }
Beispiel #7
0
        public async Task <IActionResult> OnPostAsync(bool ActualP, bool ActivoP, bool BorradoP, bool ClaveSys)
        {
            //seg_expira_clave.FechaUltMod = DateTime.Now;
            //seg_expira_clave.UsuarioMod = Microsoft.AspNetCore.Mvc.Razor.Global.name;

            if (!ModelState.IsValid)
            {
                return(Page());
            }

            //Actual
            if (ActualP)
            {
                seg_expira_clave.Actual = "S";
            }
            else
            {
                seg_expira_clave.Actual = "N";
            }
            //Activo
            if (ActivoP)
            {
                seg_expira_clave.Activo = "S";
            }
            else
            {
                seg_expira_clave.Activo = "N";
            }
            //Borrado
            if (BorradoP)
            {
                seg_expira_clave.Borrado = "S";
            }
            else
            {
                seg_expira_clave.Borrado = "N";
            }

            //ClaveSys
            if (ClaveSys)
            {
                seg_expira_clave.ClaveAutoSys = "S";
            }
            else
            {
                seg_expira_clave.ClaveAutoSys = "N";
            }

            _context.Attach(seg_expira_clave).State = EntityState.Modified;

            //Si es la contraseña actual entonces tiene que buscar si hay otra para desmarcarlo
            if (seg_expira_clave.Actual == "S")
            {
                var cambiarActual = await _context.seg_expira_claves.SingleOrDefaultAsync
                                        (m => m.IdClave != seg_expira_clave.IdClave && m.Actual == "S" && m.IdUsuario == seg_expira_clave.IdUsuario);

                if (cambiarActual != null)
                {
                    cambiarActual.Actual = "N";
                    _context.SaveChanges();
                } //if cambiarPrincipal != null
            }     //if principal == S

            //Si quiere quitar la contraseña acutal debemos verificar que no sea la unica clave que contenga actual
            else
            {
                var cambiarActual = await _context.seg_expira_claves.SingleOrDefaultAsync
                                        (m => m.IdClave != seg_expira_clave.IdClave && m.Actual == "S" && m.IdUsuario == seg_expira_clave.IdUsuario);

                //Si es nulo significa que va a dejar sin domicilio principal, entonces no lo dejamos desmarcar la casilla
                if (cambiarActual == null)
                {
                    seg_expira_clave.Actual = "S";
                    _context.SaveChanges();
                }//if cambiarPrincipal == null
            }

            //Verificacion de que un usuario no quiera actualizar un dato que ya se elimino
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!seg_expira_claveExists(seg_expira_clave.IdClave))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(RedirectToPage("./Index"));
        }
Beispiel #8
0
        public async Task <IActionResult> OnGetAsync(string Usuario, string Contraseña, string Contraseña_vieja, string Contraseña_nueva)
        {
            Microsoft.AspNetCore.Mvc.Razor.Global.contraseña_no_actual      = false;
            Microsoft.AspNetCore.Mvc.Razor.Global.contraseña_incorrecta     = false;
            Microsoft.AspNetCore.Mvc.Razor.Global.usuario_incorrecto        = false;
            Microsoft.AspNetCore.Mvc.Razor.Global.contraseña_expiro         = false;
            Microsoft.AspNetCore.Mvc.Razor.Global.contraseñas_vacias        = false;
            Microsoft.AspNetCore.Mvc.Razor.Global.contraseñas_coinciden     = false;
            Microsoft.AspNetCore.Mvc.Razor.Global.contraseñas_no_coinciden  = false;
            Microsoft.AspNetCore.Mvc.Razor.Global.contraseña_igual_anterior = false;
            Microsoft.AspNetCore.Mvc.Razor.Global.estatus_no_activo         = false;
            Microsoft.AspNetCore.Mvc.Razor.Global.bloqueado_por_intentos    = false;
            Microsoft.AspNetCore.Mvc.Razor.Global.contraseña_sistema        = false;

            cat_usuarios = await _context.cat_usuarios.SingleOrDefaultAsync(m => m.Usuario == Usuario);

            int idusuario = 0;

            if (cat_usuarios == null)
            {
            }
            else
            {
                idusuario = cat_usuarios.IdUsuario;
            }

            seg_expira_clave = await _context.seg_expira_claves.SingleOrDefaultAsync(m => m.IdUsuario == idusuario && m.Clave == Contraseña);

            seg_usuario_estatus = await _context.seg_usuarios_estatus.SingleOrDefaultAsync(m => m.IdUsuario == idusuario && m.Actual == "S");

            if (Contraseña_vieja != Contraseña_nueva)
            {
                Microsoft.AspNetCore.Mvc.Razor.Global.contraseñas_no_coinciden = true;
            }
            else
            {
                if (Contraseña_vieja == Contraseña_nueva && Contraseña_vieja != null)
                {
                    if (Contraseña_vieja == Contraseña && Contraseña_nueva == Contraseña)
                    {
                        Microsoft.AspNetCore.Mvc.Razor.Global.contraseña_igual_anterior = true;
                    }
                    else
                    {
                        Microsoft.AspNetCore.Mvc.Razor.Global.contraseñas_coinciden = true;

                        //update

                        seg_expira_clave.Actual = "N";
                        //  seg_expira_clave.FechaUltMod = DateTime.Now;
                        //  seg_expira_clave.UsuarioMod = "Sistema";

                        _context.Attach(seg_expira_clave).State = EntityState.Modified;
                        _context.SaveChanges();

                        //Insertar seg_usuario_estatus Nuevo
                        SqlConnection sqlConnection1 = new SqlConnection("Server=(local); Database=Proyecto_DAE; Trusted_Connection=True; MultipleActiveResultSets=true");
                        SqlCommand    cmd            = new SqlCommand();

                        SqlDataReader reader;

                        sqlConnection1.Open();

                        var fechafin = (DateTime.Today).AddMonths(6);
                        var fecha    = DateTime.Today;
                        cmd.CommandText = "INSERT INTO seg_expira_claves VALUES (" + idusuario + ",GETDATE(),GETDATE()+180,'S','" + Contraseña_nueva + "','N',GETDATE(),'Sistema','Sistema','S','N',GETDATE());";
                        cmd.CommandType = CommandType.Text;
                        cmd.Connection  = sqlConnection1;

                        reader = cmd.ExecuteReader();
                        // Data is accessible through the DataReader object here.
                        while (reader.Read())
                        {
                            Console.WriteLine(String.Format("{0}", reader[0]));
                        }

                        sqlConnection1.Close();
                    }
                }
            }


            //Validaciones
            if (Usuario == null)
            {
                return(Page());
            }
            else
            {
                if (cat_usuarios == null)
                {
                    Microsoft.AspNetCore.Mvc.Razor.Global.usuario_incorrecto = true;
                    return(Page());
                }

                else
                {
                    if (seg_usuario_estatus.IdEstatus == 1 && seg_usuario_estatus.IdTipoEstatus == 4)
                    {
                        if (seg_expira_clave == null)
                        {
                            if (cat_usuarios.NumIntentos == Microsoft.AspNetCore.Mvc.Razor.Global.intentos)
                            {
                                seg_usuario_estatus.FechaEstatus = DateTime.Now;
                                seg_usuario_estatus.Actual       = "N";
                                //  seg_usuario_estatus.FechaUltMod = DateTime.Now;
                                //  seg_usuario_estatus.UsuarioMod = "Sistema";

                                _context.Attach(seg_usuario_estatus).State = EntityState.Modified;
                                _context.SaveChanges();

                                //Insertar seg_usuario_estatus Nuevo
                                SqlConnection sqlConnection1 = new SqlConnection("Server=(local); Database=Proyecto_DAE; Trusted_Connection=True; MultipleActiveResultSets=true");
                                SqlCommand    cmd            = new SqlCommand();

                                SqlDataReader reader;

                                sqlConnection1.Open();

                                var fecha = DateTime.Today;
                                cmd.CommandText = "INSERT INTO seg_usuarios_estatus VALUES (" + idusuario + ",'" + fecha + "','S','Intentos Alcanzados','" + fecha + "','Sistema','Sistema','S','N','" + fecha + "',4,4);";
                                cmd.CommandType = CommandType.Text;
                                cmd.Connection  = sqlConnection1;

                                reader = cmd.ExecuteReader();
                                // Data is accessible through the DataReader object here.
                                while (reader.Read())
                                {
                                    Console.WriteLine(String.Format("{0}", reader[0]));
                                }

                                sqlConnection1.Close();

                                //Estatus Nuevo
                                Microsoft.AspNetCore.Mvc.Razor.Global.intentos           = 0;
                                Microsoft.AspNetCore.Mvc.Razor.Global.intentos_superados = true;
                                return(Page());
                            }
                            else
                            {
                                Microsoft.AspNetCore.Mvc.Razor.Global.intentos++;
                                Microsoft.AspNetCore.Mvc.Razor.Global.contraseña_incorrecta = true;
                                return(Page());
                            }
                        }

                        else
                        {
                            if (seg_expira_clave.Actual == "N")
                            {
                                Microsoft.AspNetCore.Mvc.Razor.Global.contraseña_no_actual = true;
                                return(Page());
                            }

                            else
                            {
                                if (seg_expira_clave.ClaveAutoSys == "S")
                                {
                                    Microsoft.AspNetCore.Mvc.Razor.Global.contraseña_sistema = true;
                                    return(Page());
                                }
                                else
                                {
                                    if (seg_expira_clave.FechaExpiraFin < DateTime.Now)
                                    {
                                        Microsoft.AspNetCore.Mvc.Razor.Global.contraseña_expiro = true;
                                        return(Page());
                                    }

                                    else
                                    {
                                        Microsoft.AspNetCore.Mvc.Razor.Global.intentos = 0;
                                        Microsoft.AspNetCore.Mvc.Razor.Global.Login    = true;
                                        Microsoft.AspNetCore.Mvc.Razor.Global.name     = Usuario;
                                        return(RedirectToPage("./Index"));
                                    }
                                }
                            }
                        }
                    }

                    else
                    {
                        if (seg_usuario_estatus.IdEstatus == 4 && seg_usuario_estatus.IdTipoEstatus == 4)
                        {
                            Microsoft.AspNetCore.Mvc.Razor.Global.bloqueado_por_intentos = true;
                            return(Page());
                        }
                        else
                        {
                            Microsoft.AspNetCore.Mvc.Razor.Global.estatus_no_activo = true;
                            return(Page());
                        }
                    }
                }
            }
        }
Beispiel #9
0
        public async Task<IActionResult> OnPostAsync(bool DirWebP, bool ActivoP, bool BorradoP)
        {
           
            rh_cat_dir_web.UsuarioMod = Microsoft.AspNetCore.Mvc.Razor.Global.name;
            rh_cat_dir_web.FechaUltMod = DateTime.Now;
            if (!ModelState.IsValid)
            {
                return Page();
            }

            //Si marco el checkbox entonces SI es el domicilio principal
            //de lo contrario entonces NO lo es
            if (DirWebP)
            {
                rh_cat_dir_web.Principal = "S";
            }
            else
            {
                rh_cat_dir_web.Principal = "N";
            }
            //Activo
            if (ActivoP)
            {
                rh_cat_dir_web.Activo = "S";
            }
            else
            {
                rh_cat_dir_web.Activo = "N";
            }
            //Borrado
            if (BorradoP)
            {
                rh_cat_dir_web.Borrado = "S";
            }
            else
            {
                rh_cat_dir_web.Borrado = "N";
            }

            _context.Attach(rh_cat_dir_web).State = EntityState.Modified;

            //Si es el domicilio principal entonces tiene que buscar si hay otro para desmarcarlo
            if (rh_cat_dir_web.Principal == "S")
            {
                var cambiarPrincipal = await _context.rh_cat_dir_web.SingleOrDefaultAsync
                    (m => m.IdDirWeb != rh_cat_dir_web.IdDirWeb && m.Principal == "S");

                if (cambiarPrincipal != null)
                {
                    cambiarPrincipal.Principal = "N";
                    _context.SaveChanges();
                }//if cambiarPrincipal != null

            }//if principal == S

            //Si quiere quitar el domicilio principal primero debemos de ver que no sea el ultimo
            else
            {
                var cambiarPrincipal = await _context.rh_cat_dir_web.SingleOrDefaultAsync
                    (m => m.IdDirWeb != rh_cat_dir_web.IdDirWeb && m.Principal == "S");
                //Si es nulo significa que va a dejar sin domicilio principal, entonces no lo dejamos desmarcar la casilla
                if (cambiarPrincipal == null)
                {
                    rh_cat_dir_web.Principal = "S";
                    _context.SaveChanges();
                }//if cambiarPrincipal == null
            }

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!rh_cat_dir_webExists(rh_cat_dir_web.IdDirWeb))
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }

            return RedirectToPage("./Details", new { id = rh_cat_dir_web.IdDirWeb });
        }