Ejemplo n.º 1
0
        public ActionResult EmailConfirm(string id)
        {
            SimpleRegUserService.EnableTracking();
            var simpleRegUser = SimpleRegUserService.FirstOrDefault(x => x.Token == Guid.Parse(id));

            if (simpleRegUser == null)
            {
                return(NotFound());
            }

            if (UserService.GetAll(x => x.Email == simpleRegUser.Email).Any())
            {
                return(BaseViewWithTitle("Регистрация",
                                         new PagePart("Пользователь с емейлом {0} уже зарегистрирован"
                                                      .FormatWith(simpleRegUser.Email))));
            }

            var user = new User {
                Email     = simpleRegUser.Email,
                FirstName = simpleRegUser.Name,
                LastName  = simpleRegUser.LastName,
                Password  = Membership.GeneratePassword(6, 0),
                Source_TC = simpleRegUser.Source_TC
            };

            UserService.CreateUser(user);
            AuthService.SignIn(user.Email, true);
            OrderService.UpdateSessionOrderUser();

            SimpleRegUserService.DeleteAndSubmit(simpleRegUser);
            var url = simpleRegUser.Url.IsEmpty() ? Url.Profile().Urls.Details() : simpleRegUser.Url;

            MailService.RegistrationComplete(user, null, false);

            SpecialistExportService ses = new SpecialistExportService();

            ses.InsertStudentBySimpleUser(user);
            ShowMessage("Вы успешно зарегистрировались на сайте");
            return(Redirect(url));
        }