public ActionResult Create(UserCreateViewModel model) { if (!this.ModelState.IsValid) { return this.View(model); } var user = this.Mapper.Map<ApplicationUser>(model); this.users.AddUser(user, model.Password); this.TempData["Success"] = "Item created!"; return this.RedirectToAction("Index"); }
//public ActionResult Create([Bind(Include = "UserID,Username,Password,Salt,Email,IsEmailVerified,IsActive")] User user) public ActionResult Create([Bind(Include = "Username,Password,ConfirmPassword, Email")] UserCreateViewModel userVM) { if (db.Users.Any(u => u.Email == userVM.Email)) { ModelState.AddModelError("Email", "Email in use"); } if (db.Users.Any(u => u.Username == userVM.Username)) { ModelState.AddModelError("Username", "Username in use"); } //UserID,Salt,IsEmailVerified,IsActive; if (ModelState.IsValid) { User user = new User(); user.Username = userVM.Username; //user.Password = userVM.Password; user.Email = userVM.Email; //user.Salt = BCryptHelper.GenerateSalt(); string pwdToHash = userVM.Password + "*)&h9"; user.Password = BCryptHelper.HashPassword(pwdToHash, BCryptHelper.GenerateSalt()); //db.Users.Add(user); //db.SaveChanges(); //try //{ // db.SaveChanges(); //} //catch (DbUpdateException e) //{ // //if(e.InnerException.ToString().Contains("Cannot insert duplicate key row in object 'redxadmin.Users' with unique index 'IX_Email'")) // if(db.Users.Any(u => u.Email == userVM.Email)) // { // ModelState.AddModelError("Email", "Email in use"); // } // //if (e.InnerException.ToString().Contains("Cannot insert duplicate key row in object 'redxadmin.Users' with unique index 'IX_Username'")) // if(db.Users.Any(u => u.Username == userVM.Username)) // { // ModelState.AddModelError("Username", "Username in use"); // } // return View(userVM); //} FormsAuthentication.SetAuthCookie(userVM.Username, false); //MailMessage mMsg = new MailMessage("*****@*****.**", user.Email); //mMsg.Subject = "Account created"; //mMsg.Body = "An account with username " + user.Username + " has been created on bookmarky.redx.rocks"; //SmtpClient smtpClient = new SmtpClient(); //smtpClient.Send(mMsg); //smtpClient.Dispose(); db.Users.Add(user); db.SaveChanges(); UserAuthToken uat = new UserAuthToken(); uat.UserID = user.UserID; uat.AuthToken = BCryptHelper.GenerateSalt(); uat.ExpireDate = DateTime.Now; db.UserAuthTokens.Add(uat); db.SaveChanges(); return(RedirectToAction("Index", "Home")); } return(View(userVM)); }
public GenericResponse <bool> Put(Guid id, [FromBody] UserCreateViewModel value) { throw new NotImplementedException(); }
//[Authorize(Policy = "Update Users")] public IActionResult Update(string id, [FromBody] UserCreateViewModel model) { // validate inputs. if (!string.IsNullOrWhiteSpace(model.Email)) { // validate if user email can be updated. var emailUpdate = this.userService.CanUpdateEmail(model.Id, model.Email); if (!emailUpdate) { // return 400 and message. dynamic expando = new ExpandoObject(); expando.attribute = "email"; expando.message = localizer["Email already exists"].Value; var json = JsonConvert.SerializeObject(expando); return(BadRequest(json)); } } if (!string.IsNullOrWhiteSpace(model.UserName)) { var usernameUpdate = this.userService.CanUpdateUsername(model.Id, model.UserName); if (!usernameUpdate) { dynamic expando = new ExpandoObject(); expando.message = localizer["Username already exists"].Value; var json = JsonConvert.SerializeObject(expando); return(BadRequest(json)); } } var userRoles = this.userService.GetUserRolesByUserId(model.Id); var selectedRoles = model.Roles.Where(x => x.Check == true).ToList(); var unselectedRoles = model.Roles.Where(x => x.Check == false).ToList(); List <IdentityUserRole <string> > rolesToDelete = new List <IdentityUserRole <string> >(); List <IdentityUserRole <string> > newRolesToInsert = new List <IdentityUserRole <string> >(); var roles = this.userService.GetAllRoles(); // query against the universe of roles. foreach (var roleDb in roles) { foreach (var selectedRole in selectedRoles) { if (roleDb.Id.Equals(selectedRole.Id)) { var query = userRoles.Where(x => x.RoleId.Equals(selectedRole.Id)).SingleOrDefault(); if (query == null) { // add newRolesToInsert.Add(new IdentityUserRole <string> { UserId = model.Id, RoleId = selectedRole.Id }); } } } } // roles to delete. foreach (var userRole in userRoles) { foreach (var unselectedRole in unselectedRoles) { if (userRole.RoleId.Equals(unselectedRole.Id)) { // roles to delete. rolesToDelete.Add(new IdentityUserRole <string> { UserId = model.Id, RoleId = userRole.RoleId }); } } } this.userService.UpdateUserRoles(newRolesToInsert, rolesToDelete); this.userService.UpdateUserInfo(model.Id, model.Name, model.UserName, model.Email); // taken from https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-web-api return(new NoContentResult()); }
public ActionResult Create() { var model = new UserCreateViewModel(); return(View("_CreateUserPartial", model)); }
public ActionResult Create() { var viewModel = new UserCreateViewModel(thisOne: true); return(View(viewModel)); }
public ActionResult CreatePOST(UserCreateViewModel createModel) { if (!Services.Authorizer.Authorize(Permissions.ManageUsers, T("Not authorized to manage users"))) { return(new HttpUnauthorizedResult()); } if (!string.IsNullOrEmpty(createModel.UserName)) { if (!_userService.VerifyUserUnicity(createModel.UserName, createModel.Email)) { AddModelError("NotUniqueUserName", T("User with that username and/or email already exists.")); } } if (!Regex.IsMatch(createModel.Email ?? "", UserPart.EmailPattern, RegexOptions.IgnoreCase)) { // http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx ModelState.AddModelError("Email", T("You must specify a valid email address.")); } if (createModel.Password != createModel.ConfirmPassword) { AddModelError("ConfirmPassword", T("Password confirmation must match")); } var user = Services.ContentManager.New <IUser>("User"); if (ModelState.IsValid) { user = _membershipService.CreateUser(new CreateUserParams( createModel.UserName, createModel.Password, createModel.Email, null, null, true)); } var model = Services.ContentManager.UpdateEditor(user, this); if (!ModelState.IsValid) { Services.TransactionManager.Cancel(); var editor = Shape.EditorTemplate(TemplateName: "Parts/User.Create", Model: createModel, Prefix: null); editor.Metadata.Position = "2"; model.Content.Items.Insert(0, editor); return(View(model)); } RouteValueDictionary activityStreamRouteValues = new RouteValueDictionary(); activityStreamRouteValues.Add("action", "Display"); activityStreamRouteValues.Add("controller", "User"); activityStreamRouteValues.Add("area", "orchard.crm.Project"); activityStreamRouteValues.Add("userId", user.Id); string changeDescription = string.Format(CultureInfo.CurrentUICulture, "Creates new user '{0}'", CRMHelper.GetFullNameOfUser(user)); this.activityStreamService.WriteChangesToStreamActivity(Services.WorkContext.CurrentUser.Id, user.Id, user.ContentItem.VersionRecord.Id, new ActivityStreamChangeItem[] { }, changeDescription, activityStreamRouteValues); string actionName = this.crmContentOwnershipService.IsOperator(user.Id) ? "Operators" : "Customers"; return(RedirectToAction(actionName, new { Controller = "User", area = "Orchard.CRM.Project" })); }
public IActionResult Create(UserCreateViewModel model) { var response = ResponseModelFactory.CreateInstance; if (model.LoginName.Trim().Length <= 0) { response.SetFailed("请输入登录名称"); return(Ok(response)); } using (_dbContext) { if (_dbContext.SystemUser.Count(x => x.LoginName == model.LoginName) > 0) { response.SetFailed("登录名已存在"); return(Ok(response)); } if (_dbContext.SystemUser.Count(x => x.UserIdCard == model.UserIdCard) > 0) { response.SetFailed("身份证号已存在"); return(Ok(response)); } var entity = _mapper.Map <UserCreateViewModel, SystemUser>(model); entity.AddTime = DateTime.Now.ToString("yyyy-MM-dd"); entity.SystemUserUuid = Guid.NewGuid(); var rolename = _dbContext.SystemRole.FirstOrDefault(x => x.SystemRoleUuid == model.SystemRoleUuid); entity.SystemRoleUuid = rolename.SystemRoleUuid.ToString();//用户角色uuid if (rolename.RoleName == "超级管理员") { entity.UserType = 0; } else { entity.UserType = 1; } entity.PassWord = Haikan3.Utils.DesEncrypt.Encrypt(model.PassWord.Trim(), MdDesEncrypt.SecretKey); _dbContext.SystemUser.Add(entity); int res = _dbContext.SaveChanges(); if (res > 0) { ToLog.AddLog("添加", "成功:添加:系统用户信息一条数据", _dbContext); } _dbContext.Database.ExecuteSqlRaw("DELETE FROM SystemUserRoleMapping WHERE SystemUserUUID={0}", entity.SystemUserUuid); var roles = new SystemUserRoleMapping(); roles.SystemUserUuid = entity.SystemUserUuid; roles.SystemRoleUuid = (Guid)model.SystemRoleUuid; roles.AddTime = DateTime.Now.ToString("yyyy-MM-dd"); roles.AddPeople = AuthContextService.CurrentUser.DisplayName; var success = true; _dbContext.SystemUserRoleMapping.AddRange(roles); success = _dbContext.SaveChanges() > 0; if (success) { response.SetSuccess(); } else { _dbContext.Database.ExecuteSqlRaw("DELETE FROM SystemUser WHERE SystemUserUUID={0}", entity.SystemUserUuid); response.SetFailed("保存用户角色数据失败"); } response.SetSuccess(); return(Ok(response)); } }
public IActionResult Create(UserCreateViewModel model) { var response = ResponseModelFactory.CreateInstance; if (model.LoginName.Trim().Length <= 0) { response.SetFailed("请输入登录名称"); return(Ok(response)); } using (_dbContext) { //if (_dbContext.SystemUser.Count(x => x.LoginName == model.LoginName) > 0) //{ // response.SetFailed("登录名已存在"); // return Ok(response); //} if (model.UserIdCard != null && model.UserIdCard != "") { if (_dbContext.SystemUser.Count(x => x.UserIdCard == model.UserIdCard) > 0) { response.SetFailed("身份证号已存在"); return(Ok(response)); } } if (model.SystemRoleUuid == null && model.SystemRoleUuid.ToString() == "") { response.SetFailed("请选择角色"); return(Ok(response)); } if (ConfigurationManager.HaikanPassport_IfUse) { bool checkregister = false; var obj = SyncInformation.CheckUserName(model.LoginName); if (int.Parse(obj) > 0) { var cum = SyncInformation.CheckUserMail(model.OldCard); if (int.Parse(cum) > 0) { //var cur = SyncInformation.CheckUserRegister(model.LoginName, model.OldCard); var ru = SyncInformation.RegisterUser(model.LoginName, model.PassWord.Trim(), model.OldCard); if (ru == "999") { checkregister = true; } else { if (ru == "-888") { response.SetFailed("系统禁止注册中文用户名"); return(Ok(response)); } if (ru == "-999") { response.SetFailed("当前禁止注册新用户"); return(Ok(response)); } } } else { if (cum == "-4") { response.SetFailed("Email 格式有误"); return(Ok(response)); } if (cum == "-5") { response.SetFailed("Email 不允许注册"); return(Ok(response)); } if (cum == "-6") { response.SetFailed("Email 已经被注册"); return(Ok(response)); } } } else { if (obj == "-1") { response.SetFailed("用户名不合法"); return(Ok(response)); } if (obj == "-2") { response.SetFailed("用户名包含不允许注册的词语"); return(Ok(response)); } if (obj == "-3") { response.SetFailed("用户名已经存在"); return(Ok(response)); } } if (!checkregister) { response.SetFailed("用户统一身份注册失败"); return(Ok(response)); } } var entity = _mapper.Map <UserCreateViewModel, SystemUser>(model); entity.AddTime = DateTime.Now.ToString("yyyy-MM-dd"); entity.SystemUserUuid = Guid.NewGuid(); entity.IsDeleted = 0; entity.LoginName = model.LoginName; entity.RealName = model.RealName; //entity.PassWord = Haikan3.Utils.DesEncrypt.Encrypt(model.PassWord.Trim(), MdDesEncrypt.SecretKey); entity.PassWord = Security.GenerateMD5(model.PassWord.Trim()); entity.SystemRoleUuid = model.SystemRoleUuid.ToString(); entity.UserIdCard = model.UserIdCard; entity.OldCard = model.OldCard; var rolename = _dbContext.SystemRole.FirstOrDefault(x => x.RoleName == "超级管理员"); if (model.SystemRoleUuid.ToString().Contains(rolename.SystemRoleUuid.ToString())) { entity.UserType = 0; } else { entity.UserType = 2; } _dbContext.SystemUser.Add(entity); _dbContext.SaveChanges(); //entity.SystemRoleUuid = ""; //entity.PassWord = Haikan3.Utils.DesEncrypt.Encrypt(model.PassWord.Trim(), MdDesEncrypt.SecretKey); //for (int i = 0; i < model.SystemRoleUuid.Count; i++) //{ // entity.SystemRoleUuid += model.SystemRoleUuid[i] + ","; //} //entity.SystemRoleUuid = entity.SystemRoleUuid.TrimEnd(','); //entity.OldCard = model.OldCard; //entity.Phone = model.Phone; //_dbContext.SystemUser.Add(entity); //_dbContext.SaveChanges(); _dbContext.Database.ExecuteSqlCommand("DELETE FROM SystemUserRoleMapping WHERE SystemUserUUID={0}", entity.SystemUserUuid); var success = true; if (model.SystemRoleUuid != null) { var roles = new SystemUserRoleMapping(); roles.SystemUserUuid = entity.SystemUserUuid; roles.SystemRoleUuid = model.SystemRoleUuid.Value; roles.AddTime = DateTime.Now.ToString("yyyy-MM-dd"); roles.AddPeople = AuthContextService.CurrentUser.DisplayName; _dbContext.SystemUserRoleMapping.Add(roles); } success = _dbContext.SaveChanges() > 0; if (success) { response.SetSuccess(); } else { _dbContext.Database.ExecuteSqlCommand("DELETE FROM SystemUser WHERE SystemUserUUID={0}", entity.SystemUserUuid); response.SetFailed("保存用户角色数据失败"); } return(Ok(response)); } }
public void Add(UserCreateViewModel userCreateViewModel) { _userRepository.Save(new User(userCreateViewModel)); }