Esempio n. 1
0
        public async Task <ActionResult> Register(NewProfileData data)
        {
            if (!ModelState.IsValid)
            {
                return(View(data));
            }

            data.Sanitize();
            data.StripProtocolsFromUrls();

            var nickNameExists = await UserGuiHelper.CheckIfNickNameExistAsync(data.NickName);

            if (nickNameExists)
            {
                ModelState.AddModelError("NickName", "NickName already exists");
                return(View(data));
            }

            var result = await UserManager.RegisterNewUserAsync(data.NickName, data.DateOfBirth, data.EmailAddress, data.EmailAddressIsPublic, data.IconURL,
                                                                HnDGeneralUtils.GetRemoteIPAddressAsIP4String(this.HttpContext.Connection.RemoteIpAddress), data.Location,
                                                                data.Occupation, data.Signature, data.Website,
                                                                ApplicationAdapter.GetEmailData(this.Request.Host.Host, EmailTemplate.RegistrationReply),
                                                                data.AutoSubscribeToThread, data.DefaultNumberOfMessagesPerPage);

            if (result > 0)
            {
                this.HttpContext.Session.UpdateUserSettings(data);
                return(RedirectToAction("Login", "Account"));
            }

            return(View(data));
        }