//Creamos el menu del usuario de acuerdo a sus permisos public List<Menu> createMenu(Usuario user) { List<Menu> menuCompleto = new List<Menu>(); int role = user.roleId; var modulosPorUsuario = (from ru in db.RoleModulos where ru.roleId.Equals(role) select ru.Modulo).ToList(); if (modulosPorUsuario.Count > 0) { foreach (Modulo modulo in modulosPorUsuario) { Menu menu = new Menu(); menu.Id = modulo.id; menu.Name = modulo.descripcionCorta.Trim(); var funcionesPorUsuario = (from fu in db.RoleFuncions where fu.roleId.Equals(role) && fu.Funcion.moduloId.Equals(modulo.id) && fu.Funcion.tipo.Trim().Equals("M") select fu.Funcion).ToList(); if (funcionesPorUsuario.Count > 0) { foreach(Funcion funcion in funcionesPorUsuario){ MenuItem menuItem = new MenuItem(); menuItem.Id = funcion.id; menuItem.Name = funcion.descripcionCorta.Trim(); menuItem.ControllerName = funcion.controlador.Trim(); menuItem.ActionName = funcion.accion.Trim(); menuItem.ParentMenu = menu; menuItem.Url = funcion.descripcionLarga.Trim(); menuItem.UserName = user.nombreUsuario.Trim(); menu.MenuItems.Add(menuItem); } } menuCompleto.Add(menu); } } return menuCompleto; }
/** * Damos de alta al usuario principal * */ private int usuarioRoot(Plaza plaza, Role role) { var usuarioRoot = db.Usuarios.Where(x => x.claveUsuario.Trim().Equals("root")).FirstOrDefault(); Usuario usuario = new Usuario(); if (usuarioRoot == null) { DateTime date = DateTime.Now; usuario.claveUsuario = "root"; usuario.apellidoPaterno = "SIAP"; usuario.apellidoMaterno = "Admon"; usuario.contrasena = "123"; usuario.email = "*****@*****.**"; usuario.estatus = "A"; usuario.nombreUsuario = "El Administrador"; usuario.fechaIngreso = date; usuario.Role = role; usuario.roleId = role.id; usuario.plazaId = plaza.id; usuario.Plaza = plaza; db.Usuarios.Add(usuario); db.SaveChanges(); } else { usuario = usuarioRoot; } return usuario.Id; }