Esempio n. 1
0
        public async Task<ActionResult> RegisterUserByManager(RegisterUserByManagerViewModel model)
        {
            if (model == null || !this.ModelState.IsValid)
            {
                return this.RedirectToAction("RegisterUserByManager");
            }

            var user = new User
            {
                UserName = model.UserName,
                Email = model.Email
            };

            var result = await this.UserManager.CreateAsync(user, model.Password);

            if (result.Succeeded)
            {
                var store = new UserStore<User>(this.data);
                var manager = new UserManager<User>(store);

                if (!string.IsNullOrWhiteSpace(model.UserRoleId))
                {
                    var roleName = this.data
                        .Roles
                        .Where(x => x.Id == model.UserRoleId)
                        .ToList()
                        .First()
                        .Name;

                    manager.AddToRole(user.Id, roleName);
                    this.data.SaveChanges();
                    this.TempData.Add(ModelConstants.Success, "Потребителят с име " + model.UserName + " и роля " + roleName + " е добавен успешно.");

                    return this.RedirectToAction("Index");
                }

                this.data.SaveChanges();
                this.TempData.Add(ModelConstants.Success, "Потребителят с име " + model.UserName + " е добавен успешно.");

                return this.RedirectToAction("Index");
            }

            this.AddErrors(result);

            model.UserRoles = this.GetRoles();

            // If we got this far, something failed, redisplay form
            return this.View(model);
        }
Esempio n. 2
0
        public ActionResult RegisterUserByManager()
        {
            var model = new RegisterUserByManagerViewModel
            {
                UserRoles = this.GetRoles(),
            };

            return this.View(model);
        }