예제 #1
0
        public async Task <IActionResult> ActualizarPermiso(int id, [Bind("MenuID, Aplicado")] PermisosViewModel permisos)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            string mensaje = string.Empty;

            try
            {
                if (permisos.Aplicado)
                {
                    Permisos entidad = new Permisos()
                    {
                        MenuID = permisos.MenuID,
                        RolID  = id
                    };
                    _context.Permisos.Add(entidad);

                    mensaje = "Se registro correctamente el permiso.";
                }
                else
                {
                    Permisos entidad = _context.Permisos.First(x => x.RolID == id && x.MenuID == permisos.MenuID);
                    _context.Permisos.Remove(entidad);
                    mensaje = "Se registro correctamente la baja del permiso.";
                }
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException ex)
            {
                string errMsg = FormateadorCadenas.ObtenerMensajesErrores(ex);
                return(BadRequest(errMsg));
            }
            catch (Exception ex)
            {
                string errMsg = FormateadorCadenas.ObtenerMensajesErrores(ex);
                return(BadRequest(errMsg));
            }

            return(Ok(mensaje));
        }
예제 #2
0
        // GET: User/Details/5
        public async Task <ActionResult> Details(int id)
        {
            databaseAYT03 dbayt03 = new databaseAYT03();
            databaseRH    dbRH    = new databaseRH();

            //obtiene información general del usuario
            String query_usuarios = "SELECT " +
                                    "u.Id, " +
                                    "u.Nombre, " +
                                    "u.Departamento,  " +
                                    "u.Email, " +
                                    "u.Extension,  " +
                                    "CASE WHEN u.EsGerente = 1 THEN 'True' ELSE 'False' END AS Gerente, " +
                                    "r.Nombre AS Rol " +
                                    "FROM ITNT_Usuarios u " +
                                    "LEFT JOIN ITNT_Roles r on u.IdRol = r.Id " +
                                    "WHERE u.Id = " + id; //Activo
            SqlDataReader reader = (SqlDataReader)await dbayt03.query(query_usuarios);

            List <InfoGeneralViewModel> usuarios = new List <InfoGeneralViewModel>();

            if (reader.HasRows)
            {
                while (reader.Read())
                {
                    usuarios.Add(new InfoGeneralViewModel
                    {
                        Id           = Int32.Parse(reader["Id"].ToString()),
                        Nombre       = reader["Nombre"].ToString(),
                        Departamento = reader["Departamento"].ToString(),
                        Email        = reader["Email"].ToString(),
                        Extension    = reader["Extension"].ToString(),
                        Gerente      = reader["Gerente"].ToString(),
                        Rol          = reader["Rol"].ToString()
                    });;
                }
                reader.Close();
            }


            //obtiene información general de Roles
            String        query_roles  = "SELECT * FROM ITNT_Roles WHERE Status = 1";
            SqlDataReader reader_roles = (SqlDataReader)await dbayt03.query(query_roles);

            List <RolViewModel> roles = new List <RolViewModel>();

            if (reader_roles.HasRows)
            {
                while (reader_roles.Read())
                {
                    roles.Add(new RolViewModel
                    {
                        Id     = Int32.Parse(reader_roles["Id"].ToString()),
                        Nombre = reader_roles["Nombre"].ToString(),
                        Status = Int32.Parse(reader_roles["Status"].ToString())
                    });
                }
                reader_roles.Close();
            }

            ////obtiene información general de la lista de sucursales
            //String query_sucursales = "SELECT " +
            //                          "TB_CODIGO AS Codigo," +
            //                          "TB_ELEMENT AS Sucursal " +
            //                          "FROM NIVEL1 " +
            //                          "WHERE TB_ACTIVO = 'S' AND " +
            //                          "TB_CODIGO NOT IN('14','23','96','97', '98','99') " +
            //                          "ORDER BY TB_ELEMENT ASC";
            //SqlDataReader reader_sucursales = (SqlDataReader)await dbRH.query(query_sucursales);
            //List<SucursalesViewModel> sucursales = new List<SucursalesViewModel>();

            //if (reader_sucursales.HasRows)
            //{
            //    while (reader_sucursales.Read())
            //    {
            //        sucursales.Add(new SucursalesViewModel
            //        {
            //            Codigo = reader_sucursales["Codigo"].ToString().Replace(" ",""),
            //            Sucursal = reader_sucursales["Sucursal"].ToString()
            //        });
            //    }
            //    reader_sucursales.Close();
            //}

            ////obtiene relacion usuarios - sucursal
            //String query_usuario_sucursal = "SELECT * FROM ITNT_Usuario_Sucursal WHERE IdUsuario = " + id;
            //SqlDataReader reader_usuario_sucursal = (SqlDataReader)await dbayt03.query(query_usuario_sucursal);
            ////List<UsuarioSucursalViewModel> usuario_sucursales = new List<UsuarioSucursalViewModel>();

            //if (reader_usuario_sucursal.HasRows)
            //{
            //    while (reader_usuario_sucursal.Read())
            //    {
            //        var suc = sucursales.FirstOrDefault(d => d.Codigo == reader_usuario_sucursal["IdSucursal"].ToString());
            //        if ( suc != null)
            //        {
            //            suc.IsSelected = true;
            //        }

            //    }
            //    reader_usuario_sucursal.Close();
            //}

            //obtiene todos los usuarios
            String        query_usu             = "SELECT Id, Nombre FROM  ITNT_Usuarios"; //Activo
            SqlDataReader reader_todos_usuarios = (SqlDataReader)await dbayt03.query(query_usu);

            List <UsuariosViewModel> _usuarios = new List <UsuariosViewModel>();

            if (reader_todos_usuarios.HasRows)
            {
                while (reader_todos_usuarios.Read())
                {
                    _usuarios.Add(new UsuariosViewModel
                    {
                        Id     = Int32.Parse(reader_todos_usuarios["Id"].ToString()),
                        Nombre = reader_todos_usuarios["Nombre"].ToString()
                    });
                }
                reader_todos_usuarios.Close();
            }

            //obtiene relacion personal cargo
            String query_personal_cargo = "SELECT " +
                                          "U.Id AS Usuario, " +
                                          "U.Nombre " +
                                          "FROM ITNT_Personal_Cargos PC " +
                                          "LeFT JOIN ITNT_Usuarios U ON PC.IdUsuarioCargo = U.Id " +
                                          "WHERE PC.IdUsuarioPrimario = " + id;
            SqlDataReader reader_personal_cargo = (SqlDataReader)await dbayt03.query(query_personal_cargo);

            //List<UsuarioSucursalViewModel> personal_cargo = new List<UsuarioSucursalViewModel>();

            if (reader_personal_cargo.HasRows)
            {
                while (reader_personal_cargo.Read())
                {
                    var personal_cargo = _usuarios.FirstOrDefault(d => d.Id == Int32.Parse(reader_personal_cargo["Usuario"].ToString()));
                    if (personal_cargo != null)
                    {
                        personal_cargo.IsSelected = true;
                    }
                }
                reader_personal_cargo.Close();
            }



            PermisosViewModel permisos = new PermisosViewModel
            {
                Informacion = usuarios,
                Roles       = roles,
                //Sucursales = sucursales,
                PersonalCargo = _usuarios
            };

            return(Json(new { data = permisos }));
            //return View(permisos);
        }