public static ApplicationIdentityUser CreateAdminUser(IPosDbContext context) { var applicationUserManager = IdentityFactory.CreateUserManager(context); string username = "******"; string password = "******"; ApplicationIdentityUser user = applicationUserManager.FindByNameAsync(username).Result; if (user != null) { return(user); } user = new ApplicationIdentityUser { UserName = username, Email = username }; if (IposConfig.UseMembership) { IposMembershipService.CreateUserAccount(new AppUserViewModel { UserName = username, Password = password }); } applicationUserManager.CreateAsync(user, password).Wait(); applicationUserManager.SetLockoutEnabled(user.Id, false); applicationUserManager.Update(user); var isInRole = applicationUserManager.IsInRoleAsync(user.Id, IposRoleHelper.ADMIN); if (user != null && !isInRole.Result) { applicationUserManager.AddToRoleAsync(user.Id, IposRoleHelper.ADMIN).Wait(); } return(user); }
public HttpResponseMessage CreateUserAccount(AppUserViewModel accountModel) { var response = new ApiResultViewModel <AppUserViewModel>(); if (ModelState.IsValid) { var user = new AppUser { Email = accountModel.Email, UserName = accountModel.UserName, PhoneNumber = accountModel.PhoneNumber, FirstName = accountModel.FirstName, LastName = accountModel.LastName, LockoutEnabled = !accountModel.Status }; try { if (IposConfig.UseMembership) { var membershipUser = IposMembershipService.CreateUserAccount(accountModel); if (membershipUser.HasError) { response.errorMessage = membershipUser.ErrorMessage; response.errorStatus = true; return(Request.CreateResponse(response)); } } var userRegisterResponse = _appUserMgr.Create(user, accountModel.Password); if (userRegisterResponse.Succeeded) { AddToMutipleRoles(accountModel, user.Id); var eventDescription = String.Format("{0} account was created.", accountModel.UserName); var membershipUserId = IposConfig.UseMembership ? (Guid?)IposMembershipService.GetUserId(User.Identity.Name) : null; _auditSvc.LogEvent(eventDescription, AuditType.NEW_ACCOUNT, membershipUserId, User.Identity.GetUserId <int>()); response.message = "New User account has been created."; return(Request.CreateResponse(response)); } else { response.errorMessage = userRegisterResponse.Errors.FirstOrDefault(); } } catch (Exception e) { _logger.Log(e); #if DEBUG response.errorMessage = e.Message; response.errorStatus = true; #else response.errorMessage = "Error occured, please contact admin."; response.errorStatus = true; #endif } } else { response.errorStatus = true; response.errorMessage = "Cannot create user account with Incomplete fields."; } return(Request.CreateResponse(response)); }