Пример #1
0
        public ActionResult Register(RegisterModel model, string returnUrl, bool captchaValid)
        {
            //check whether registration is allowed
            if (AppSettings.Get <bool>("UserRegistrationDisabled"))
            {
                return(RedirectToRoute("RegisterResult", new { resultId = (int)UserRegistrationType.Disabled }));
            }

            if (_workContext.CurrentStudent.IsRegistered())
            {
                //Already registered customer.
                _authenticationService.SignOut();
            }

            //Create a new record
            _workContext.CurrentStudent = CreateNewStudentObject();

            var student = _workContext.CurrentStudent;

            //validate CAPTCHA
            if (AppSettings.Get <bool>("CaptchaEnabled") && !captchaValid)
            {
                ModelState.AddModelError("", "Wrong Captcha");
            }

            if (ModelState.IsValid)
            {
                model.Username = model.Username.Trim();

                var registrationRequest = new StudentRegistrationRequest(_workContext.CurrentStudent ?? new Student(), model.Username, model.Password);
                var registrationResult  = _studentRegistrationService.RegisterStudent(registrationRequest);
                if (registrationResult.Success)
                {
                    //activity log
                    _studentActivityService.InsertActivity("Game.Registration", "ActivityLog.Game.Registration", student);

                    //login student now
                    _authenticationService.SignIn(student, true);

                    //send customer welcome message
                    var redirectUrl = Url.Action("RegisterResult", new { resultId = (int)UserRegistrationType.Standard });
                    if (!String.IsNullOrEmpty(returnUrl) && Url.IsLocalUrl(returnUrl))
                    {
                        redirectUrl = _webHelper.ModifyQueryString(redirectUrl, "returnurl=" + HttpUtility.UrlEncode(returnUrl), null);
                    }
                    return(Redirect(redirectUrl));
                }

                //errors
                foreach (var error in registrationResult.Errors)
                {
                    ModelState.AddModelError("", error);
                }
            }

            //If we got this far, something failed, redisplay form
            return(View(model));
        }
Пример #2
0
        public async Task <ActionResult> RegisterStudentAsync([FromBody] StudentRegistrationRequest request)
        {
            if (!await User.IsUniversityAdminOrHigherAsync(request.UniversityId, universityService))
            {
                throw new ForbiddenException("Don't have rights!");
            }

            var dto = mapper.Map <StudentRegistrationDTO>(request);
            await authService.RegisterStudentAsync(dto);

            return(Ok());
        }