示例#1
0
        public virtual async Task <ActionResult> Index(LogonViewModel model)
        {
            if (ModelState.IsValid)
            {
                // Attempt a login
                //
                var login = await RaceDayClient.Login(model.LoginEmail.Trim(), model.LoginPassword.Trim());

                if (login == null)
                {
                    model.PageMessage = new PageMessageModel(MessageDismissEnum.none, CssMessageClassEnum.error, "Invalid Email/Password.");
                }
                else
                {
                    RaceDayUser.LoginUser(login, model.RememberMe);
                    return(RedirectToAction(MVC.Home.Index()));
                }
            }
            return(View(model));
        }
示例#2
0
        public virtual async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                string recapatchaResponse = Request.Form["g-recaptcha-response"];
                var    result             = await RecaptchaClient.Verify(RecaptchaConfiguration.Instance.SecretKey, recapatchaResponse);

                if (result.success)
                {
                    var resultCode = await RaceDayClient.UserRegister(model.GroupCode, model.FirstName, model.LastName, model.RegisterEmail, model.RegisterPassword);

                    if (resultCode == HttpStatusCode.Created)
                    {
                        var login = await RaceDayClient.Login(model.RegisterEmail.Trim(), model.RegisterPassword.Trim());

                        RaceDayUser.LoginUser(login, false);

                        return(RedirectToAction(MVC.Home.Index()));
                    }
                    else if (resultCode == HttpStatusCode.BadRequest)
                    {
                        model.PageMessage = new PageMessageModel(MessageDismissEnum.none, CssMessageClassEnum.error, "Invalid registration request.");
                    }
                    else if (resultCode == HttpStatusCode.Conflict)
                    {
                        model.PageMessage = new PageMessageModel(MessageDismissEnum.none, CssMessageClassEnum.error, "Account already exists.");
                    }
                    else
                    {
                        model.PageMessage = new PageMessageModel(MessageDismissEnum.none, CssMessageClassEnum.error, "API Server error.");
                    }
                }
                else
                {
                    model.PageMessage = new PageMessageModel(MessageDismissEnum.none, CssMessageClassEnum.error, "Invalid captcha response.");
                }
            }

            return(View(model));
        }