public ActionResult Register(RegisterModel model) { if (!WebConstants.IsRegistrationAvailable) { return(View()); } if (!ModelState.IsValid) { return(View(model)); } // Attempt to register the user try { if (!RegisterModel.IsCorrectUserName(model.UserName)) { ViewBag.Message = "В имени пользователя допустимы только рус/англ буквы, точка, пробел, земля и дефис."; return(View(model)); } WebSecurity.CreateUserAndAccount(model.UserName, model.Password, new { Email = model.Email }); var context = new UnityContext(); context.UserProfiles.First(z => z.UserName == model.UserName).CvarcTag = Guid.NewGuid().ToString(); context.SaveChanges(); WebSecurity.Login(model.UserName, model.Password); return(RedirectToAction("Index", "Home")); } catch (MembershipCreateUserException e) { ModelState.AddModelError("", ErrorCodeToString(e.StatusCode)); } // If we got this far, something failed, redisplay form return(View(model)); }
public ActionResult RegisterManyUsers(string users) { var splited = users.Split(new[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries) .Where(l => !string.IsNullOrEmpty(l)).Select(line => line.Split(';')).ToArray(); var uncorrect = splited.Where(s => s.Length < 2 || !RegisterModel.IsCorrectUserName(s[0]) || s[1].Length < 6 || WebSecurity.UserExists(s[0])) .ToArray(); if (uncorrect.Any()) { ViewBag.Message = "Что-то не так(пароль меньше 6 или не указан, в имени некорректные символы, пользователь уже сущ-вует) для пользователей: "; foreach (var value in uncorrect) { ViewBag.Message += string.Join(";", value); } return(View()); } ViewBag.Message = ""; foreach (var value in splited) { ViewBag.Message += WebSecurity.CreateUserAndAccount(value[0], value[1]); } var userNames = splited.Select(s => s[0]); var context = new UnityContext(); foreach (var value in splited) { var name = value[0]; var user = context.UserProfiles.First(u => u.UserName == name); user.CvarcTag = Guid.NewGuid().ToString(); if (value.Length > 2) { user.Email = value[2]; } if (value.Length > 3) { user.SocialLink = value[3]; } } context.SaveChanges(); ViewBag.Message = "Пользователи успешно зарегистрированы"; return(View()); }
public ActionResult RegisterUser(RegisterModel model) { if (WebSecurity.UserExists(model.UserName)) { ViewBag.Message = "Такой пользователь уже есть!"; return(View(model)); } if (!RegisterModel.IsCorrectUserName(model.UserName)) { ViewBag.Message = "В имени пользователя допустимы только рус/англ буквы, точка, пробел, земля и дефис."; return(View(model)); } WebSecurity.CreateUserAndAccount(model.UserName, model.Password); var context = new UnityContext(); context.UserProfiles.First(z => z.UserName == model.UserName).CvarcTag = Guid.NewGuid().ToString(); context.SaveChanges(); ViewBag.Message = "Аккаунт создан успешно"; return(View()); }