Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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());
        }
Exemplo n.º 3
0
        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());
        }