public ActionResult AddUserToDashboard(AddUserToDashboardViewModel model) { if (ModelState.IsValid) { Dashboard findDashboard = _context.Dashboards.SingleOrDefault(p => p.Id == model.DashboardIdSected); if (findDashboard != null) { AppUser findUser = _context.AppUsers.SingleOrDefault(u => u.Id == model.UserIdSected); if (findUser != null) { findDashboard.AppUsers.Add(findUser); _context.SaveChanges(); } } } //Заповнити всі пости model.ListDashboards = _context.Dashboards.Select(p => new ListBoxItems() { Id = p.Id, Name = p.Title }); //Заповнити всі юзери model.ListUsers = _context.AppUsers.Select(p => new ListBoxItems() { Id = p.Id, Name = p.UserProfile.LastName + " " + p.UserProfile.FirstName }); return(View(model)); }
//[Authorize(Roles = "Admin")] public ActionResult AddUserToDashboard() { var model = new AddUserToDashboardViewModel(); var userEmail = HttpContext.User.Identity.Name; var user = _context.AppUsers.SingleOrDefault(u => u.Email == userEmail); model.IsCompanyAdmin = (user.Roles.Where(r => r.Name == "CompanyAdmin")).Count() == 1; model.IsSuperAdmin = (user.Roles.Where(r => r.Name == "SuperAdmin")).Count() == 1; model.IsUser = (user.Roles.Where(r => r.Name == "User")).Count() == 1; if (model.IsUser) { return(View("~/Views/Shared/Errors/Error_403.cshtml")); } var usersList = _context.AppUsers.ToList(); List <AppUser> candidatsReadOnly = new List <AppUser>(); foreach (var item in usersList) { var role = item.Roles.ToList(); if (role[0].Name == "User") { item.UserProfile = _context.UserProfiles.SingleOrDefault(x => x.Id == item.Id); candidatsReadOnly.Add(item); } } var companyROList = candidatsReadOnly.Select(r => new ListBoxItems() { Id = r.Id, Name = r.UserProfile.FirstName + " " + r.UserProfile.LastName }); model.ListDashboards = model.IsSuperAdmin ? _context.Dashboards.Select(p => new ListBoxItems() { Id = p.Id, Name = p.Title }) : _context.Dashboards.Where(x => x.IdOwner == user.Id).Select(p => new ListBoxItems() { Id = p.Id, Name = p.Title }); model.ListUsers = companyROList; return(View(model)); }