コード例 #1
0
        public ActionResult AddUser(UserCreatedByAdmin user)
        {
            ApplicationDbContext db = new ApplicationDbContext();
            var userManager         = new ApplicationUserManager(new UserStore <ApplicationMyUser>(db));
            var identityRole        = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(db));

            var adminsUser = new ApplicationMyUser {
                Email = user.Email, UserName = user.Email, IsBloked = false
            };
            var result = userManager.Create(adminsUser, user.Password);

            if (result.Succeeded)
            {
                userManager.AddToRole(adminsUser.Id, identityRole.FindByName(user.Role).Name);
                log.Info(" Пользователь " + User.Identity.Name + " c айпи " + Request.UserHostAddress + " добавил пользователя " + user.Email + " c ролью " + user.Role);
            }
            db.SaveChanges();
            return(Redirect("/Home/My"));
        }
コード例 #2
0
        public ActionResult AddNewUserPost(UserCreatedByAdmin model)
        {
            User admin = UserHelpers.GetCurrentAdmin(Session);

            if (admin == null)
            {
                return(Json(new
                {
                    state = 0,
                    error = "Require signin!",
                    message = "You are not signed in..."
                }));
            }
            else if (admin.AccountStatus == EventZoneConstants.LockedUser)
            {
                return(Json(new
                {
                    state = 0,
                    error = "Locked account",
                    message = "Your account is locked. You cant use this feature!"
                }));
            }
            else if (admin.UserRoles != EventZoneConstants.RootAdmin && admin.UserRoles != EventZoneConstants.Admin)
            {
                return(Json(new
                {
                    state = 0,
                    error = "Permission denied",
                    message = "This feature not avaiable for you!"
                }));
            }
            if (admin.AccountStatus != EventZoneConstants.LockedUser)
            {
                if (ModelState.IsValid)
                {
                    User newUser = UserDatabaseHelper.Instance.GetUserByUserName(model.UserName);
                    if (newUser != null)
                    {
                        //ModelState.AddModelError("", "UserName is already exist. Please choose another.");
                        return(Json(new
                        {
                            state = 0,
                            message = "UserName is already exist. Please choose another."
                        }));
                    }
                    newUser = UserDatabaseHelper.Instance.GetUserByEmail(model.Email);
                    if (newUser != null)
                    {
                        //ModelState.AddModelError("", "Email is already registered. Please choose another.");
                        return(Json(new
                        {
                            state = 0,
                            message = "Email is already registered. Please choose another."
                        }));
                    }
                    User user = new User
                    {
                        UserEmail     = model.Email,
                        UserName      = model.UserName,
                        UserPassword  = model.Password,
                        UserDOB       = model.UserDOB,
                        UserFirstName = model.UserFirstName,
                        DataJoin      = DateTime.Today,
                        AccountStatus = EventZoneConstants.ActiveUser, //set Active account
                        Avartar       = 10032,
                        UserRoles     = EventZoneConstants.User        //set UserRole
                    };
                    if (AdminDataHelpers.Instance.AddUser(user))
                    {
                        UserDatabaseHelper.Instance.CreateUserChannel(user);
                        return(Json(new
                        {
                            state = 1,
                            userID = user.UserID
                        }));
                    }
                }
            }
            return(Json(new
            {
                state = 0,
                error = "Erorr",
                message = "Something wrong! Please try again!"
            }));
        }