Esempio n. 1
0
        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));
        }
Esempio n. 3
0
        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"));
        }
Esempio n. 4
0
        // 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));
        }
Esempio n. 5
0
 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));
        }