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)); }
// 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); }