public ActionResult ConfigureEmails(AccountRolesViewModel AccountRoles)
        {
            ApplicationUser user = db.Users.Where(u => u.Email.Equals(AccountRoles.Email, StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault();

            if (user == null)
            {
                ViewBag.Message = "Nie ma takiego użytkownika";
                return(View(SetAccountTypes()));
            }
            ReportAnIssue.Models.Type type = db.Types.FirstOrDefault(t => t.Name.Equals(AccountRoles.TypeString));
            if (type == null)
            {
                ViewBag.Message = "Nie ma takiego typu usterki";
                return(View(SetAccountTypes()));
            }
            if (type.Users.Contains(user))
            {
                ViewBag.Message = "Ten użytkownik otrzymuje już powiadomienia z tego typu usterki";
                return(View(SetAccountTypes()));
            }
            type.Users.Add(user);
            db.SaveChanges();
            ViewBag.Success = "Dodano mail do listy";
            return(View(SetAccountTypes()));
        }
        public ActionResult Create(AccountRolesViewModel AccountRoles)
        {
            ApplicationUser user      = db.Users.Where(u => u.Email.Equals(AccountRoles.Email, StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault();
            var             userStore = new UserStore <ApplicationUser>(db);
            var             account   = new UserManager <ApplicationUser>(userStore);

            account.AddToRole(user.Id, AccountRoles.Role);
            db.SaveChanges();
            TempData["Success"] = "Dodano uprawnienie do użytkownika";
            return(RedirectToAction("Index", "Manage", null));
        }
        public ActionResult Create()
        {
            var AccountRoles = new AccountRolesViewModel();

            AccountRoles.Roles = db.Roles.Select(e => new SelectListItem
            {
                Text  = e.Name,
                Value = e.Name.ToString(),
            }).ToList();
            return(View(AccountRoles));
        }
        private AccountRolesViewModel SetAccountTypes()
        {
            var accountTypes = new AccountRolesViewModel();

            accountTypes.Email = "";
            accountTypes.Types = db.Types.Select(e => new SelectListItem
            {
                Text  = e.Name,
                Value = e.Name.ToString(),
            }).ToList();
            return(accountTypes);
        }
        public ActionResult Delete(AccountRolesViewModel AccountRoles)
        {
            ApplicationUser user      = db.Users.Where(u => u.Email.Equals(AccountRoles.Email, StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault();
            var             userStore = new UserStore <ApplicationUser>(db);
            var             account   = new UserManager <ApplicationUser>(userStore);

            if (account.IsInRole(user.Id, AccountRoles.Role))
            {
                account.RemoveFromRole(user.Id, AccountRoles.Role);
            }
            db.SaveChanges();
            TempData["Success"] = "Usunięto uprawnienie użytkownikowi";
            return(RedirectToAction("Index", "Manage", null));
        }
        public ActionResult Details()
        {
            var AccountRoless            = new List <AccountRolesViewModel>();
            List <ApplicationUser> users = db.Users.ToList();
            var userStore = new UserStore <ApplicationUser>(db);
            var account   = new UserManager <ApplicationUser>(userStore);

            foreach (var user in users)
            {
                var AccountRoles = new AccountRolesViewModel()
                {
                    Id        = user.Id,
                    Email     = user.Email,
                    RolesList = account.GetRoles(user.Id).ToList(),
                };
                AccountRoless.Add(AccountRoles);
            }

            return(View(AccountRoless));
        }
Exemple #7
0
        public async Task <ActionResult> Edit([Bind(Include = "User, Roles")] AccountRolesViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = UserManager.FindById(model.User.Id);
                if (user == null)
                {
                    return(HttpNotFound());
                }
                logger.Info("User is found: {0}", user.UserName);

                IdentityResult result = await RoleServiceManager.ChangeUserRolesAsync(user, model);

                if (result.Succeeded)
                {
                    return(RedirectToAction("index"));
                }

                AddErrors(result);
            }

            return(View(model));
        }
Exemple #8
0
        public async Task <IdentityResult> ChangeUserRolesAsync(ApplicationUser user, AccountRolesViewModel model)
        {
            IdentityResult result = null;

            try {
                logger.Info("Start");
                logger.Info("User Id: {0}", user.Id);
                logger.Debug("Change UserName from {0} to {1}", user.UserName, model.User.UserName);
                user.UserName = model.User.UserName;
                logger.Debug("Change PhoneNumber from {0} to {1}", user.PhoneNumber, model.User.PhoneNumber);
                user.PhoneNumber = model.User.PhoneNumber;
                logger.Debug("Change Email from {0} to {1}", user.Email, model.User.Email);
                user.Email = model.User.Email;

                result = await userManager.UpdateAsync(user);

                logger.Debug("Update result: {0}", result.Succeeded);
                if (result.Succeeded)
                {
                    foreach (var role in await userManager.GetRolesAsync(user.Id))
                    {
                        logger.Debug("User role: {0}", role);
                        result = await userManager.RemoveFromRoleAsync(user.Id, role);

                        logger.Debug("RemoveFromRole result: {0}", result.Succeeded);
                        if (!result.Succeeded)
                        {
                            return(result);
                        }
                    }

                    result = await userManager.AddToRolesAsync(user.Id, model.Roles.Where(x => x.Checked).Select(x => x.Name).ToArray());

                    logger.Debug("AddToRoles result: {0}", result.Succeeded);
                }

                logger.Debug("return result: {0}", result.Succeeded);
                return(result);
            }
            catch (Exception ex) {
                logger.Error(ex, ex.Message);
                throw;
            }
        }