public IActionResult CreateProject(CreateProjectViewModel model, List<string> SelectedUsers) { var usersToAdd = Context.Users.Where(CurrentUser => SelectedUsers.Contains(CurrentUser.UserName)).ToList(); if (SelectedUsers.Any(Selected => usersToAdd.All(FoundUser => FoundUser.UserName != Selected))) { ModelState.AddModelError("", "Unrecognized user selected"); } if (!ModelState.IsValid) { return View(model); } var projectToAdd = new DocumentationProject { IsPublic = model.IsPublic, Name = model.ProjectName, PathToIndex = model.PathToIndexPage }; Context.DocumentationProjects.Add(projectToAdd); Context.SaveChanges(); if (usersToAdd.Any()) { foreach (var currentUser in usersToAdd) { Context.UserProjects.Add(new UserProjectAccess { ProjectId = projectToAdd.Id, UserId = currentUser.Id }); } Context.SaveChanges(); } return RedirectToAction(nameof(Index)); }
public IActionResult CreateProject() { var model = new CreateProjectViewModel(); model.AvailableUsers = Context.Users.Select(AppUser => AppUser.UserName).OrderBy(Username => Username); return View(model); }