public async Task <ActionResult> CreateGuest([Bind(Include = "GuestUserId,GuestUserName")] GuestUserModel guests) { if (ModelState.IsValid) { var userStore = new UserStore <ApplicationUser>(db); var userManager = new UserManager <ApplicationUser>(userStore); ApplicationUser currentAdmin = userManager.FindById(User.Identity.GetUserId()); if (!db.GuestUserModels.Any(g => g.GuestUserName == guests.GuestUserName)) { //await this.UserManager.AddToRoleAsync(guests.GuestUserId, ); //guests.AddToRole(guests.GuestUserId, "Guest"); TempData["Message"] = "Gästspelaren har lagts till!"; db.GuestUserModels.Add(guests); await db.SaveChangesAsync(); return(RedirectToAction("Guest", "Admin")); } else { TempData["Message"] = "Det finns redan en gästspelare med samma namn"; return(RedirectToAction("CreateGuest", "Admin")); } } TempData["Message"] = "Något gick fel. försök igen!"; return(RedirectToAction("CreateGuest", "Admin")); }
public async Task <ActionResult> CreateGuestUser(GuestUserModel _objGstUsrMdl) { ResultsViewModel results = new ResultsViewModel(false); if (ModelState.IsValid) { try { var graphServiceClient = GraphAuthService.CreateGraphServiceClient(ConfigHelper.UseApplicationPermissions); string inviteURL = ConfigHelper.inviteRedirectURLBase;// + ConfigHelper.Tenant; Tuple <bool, string, string> tup = await usersService.CreateGuestUser(graphServiceClient, _objGstUsrMdl.UserDisplayName, _objGstUsrMdl.UserEmailAddress, inviteURL, _objGstUsrMdl.WelcomeMessage); _objGstUsrMdl.userID = tup.Item2; _objGstUsrMdl.resultantMessage = tup.Item3; _objGstUsrMdl.status = tup.Item1; return(View("GuestUsersCreateResult", _objGstUsrMdl)); } catch (Exception ex) { _objGstUsrMdl.status = false; _objGstUsrMdl.resultantMessage = ex.Message + (ex.InnerException != null ? Environment.NewLine + ex.InnerException.Message : ""); } } return(View("GuestUsers", _objGstUsrMdl)); }
public async Task <ActionResult> DeleteConfirmed(int id) { GuestUserModel guest = await db.GuestUserModels.FindAsync(id); db.GuestUserModels.Remove(guest); await db.SaveChangesAsync(); return(RedirectToAction("Guest", "Admin")); }
// GET: Guests/Details public async Task <ActionResult> Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } GuestUserModel Guest = await db.GuestUserModels.FindAsync(id); if (Guest == null) { return(HttpNotFound()); } return(View(Guest)); }
public ActionResult DeleteGuest(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } else { GuestUserModel guest = db.GuestUserModels.Find(id); if (guest == null) { return(HttpNotFound()); } return(View(guest)); } }
public ActionResult GuestUsersCreateResult(GuestUserModel _objGstUsrMdl) { return(View(_objGstUsrMdl)); }
public ViewResult GetUser(GuestUserModel model) { List <Tuple <string, List <ResultsItem> > > tupAppRoles = new List <Tuple <string, List <ResultsItem> > >(); List <ResultsItem> lstUserAppRoles = new List <ResultsItem>(); List <ResultsItem> exts = new List <ResultsItem>(); List <string> groups = new List <string>(); Microsoft.Azure.ActiveDirectory.GraphClient.User myuser = null; if (ModelState.IsValid) { try { var azureClient = GraphAuthService.GetActiveDirectoryClient(ConfigHelper.UseApplicationPermissions); var user = azureClient.Users.Where(a => a.UserPrincipalName.Equals(model.UserEmailAddress, StringComparison.InvariantCultureIgnoreCase) || a.Mail.Equals(model.UserEmailAddress, StringComparison.InvariantCultureIgnoreCase) ).Expand(p => p.AppRoleAssignments).ExecuteAsync().Result.CurrentPage.FirstOrDefault(); if (user != null) { var cc = user.AppRoleAssignments; var approlesassigns = AzureADExtensions.EnumerateAllAsync(cc).Result; var filtered = approlesassigns.Where(a => a.PrincipalType == "User"); //now get role names for those var fapplications = azureClient.Applications.ExecuteAsync().Result; if (fapplications != null) { IEnumerable <IApplication> allapps = AzureADExtensions.EnumerateAllAsync(fapplications).Result; foreach (IApplication app in allapps) { string applicationname = app.DisplayName; var fapplication = azureClient.Applications.Where(a => a.DisplayName == applicationname).ExecuteAsync().Result; if (fapplication != null) { lstUserAppRoles = new List <ResultsItem>(); var myroles = fapplication.CurrentPage.FirstOrDefault().AppRoles.Where(a => filtered.Select(b => b.Id).Contains(a.Id)); foreach (AppRole r in myroles) { lstUserAppRoles.Add(new ResultsItem() { Id = r.DisplayName, Display = r.Description }); } tupAppRoles.Add(new Tuple <string, List <ResultsItem> >(app.DisplayName, lstUserAppRoles)); } } } //get extension attributes myuser = (Microsoft.Azure.ActiveDirectory.GraphClient.User)user; foreach (var s in myuser.GetExtendedProperties()) { exts.Add(new ResultsItem() { Id = s.Key, Display = (s.Value == null ? "" : s.Value.ToString()) }); } IUserFetcher retrievedUserFetcher = myuser; Microsoft.Azure.ActiveDirectory.GraphClient.Extensions.IPagedCollection <IDirectoryObject> pagedCollection = retrievedUserFetcher.MemberOf.ExecuteAsync().Result; List <IDirectoryObject> directoryObjects = pagedCollection.EnumerateAllAsync().Result.ToList(); foreach (IDirectoryObject directoryObject in directoryObjects) { if (directoryObject is Microsoft.Azure.ActiveDirectory.GraphClient.Group) { Microsoft.Azure.ActiveDirectory.GraphClient.Group group = directoryObject as Microsoft.Azure.ActiveDirectory.GraphClient.Group; groups.Add(group.DisplayName); } } } return(View("GetUserDetails", new UserDetails() { isOk = true, message = "", exts = exts, tupAppRoles = tupAppRoles, user = myuser, Groups = groups })); } catch (Exception ex) { model.status = false; model.resultantMessage = ex.Message + (ex.InnerException != null ? Environment.NewLine + ex.InnerException.Message : ""); } } return(View("GetUser", model)); }