private bool HandleGet(DynamicDictionary _parameters)
        {
            string validationToken = _parameters["validationtoken"];

            if (!string.IsNullOrEmpty(validationToken))
            {
                HydrantWikiManager hwManager = new HydrantWikiManager();

                TGUserEmailValidation uev = hwManager.GetTGUserEmailValidation(validationToken);

                if (uev != null &&
                    uev.ParentGuid != null)
                {
                    User user = (User)hwManager.GetUser(uev.ParentGuid.Value);

                    if (user != null)
                    {
                        user.IsVerified = true;

                        hwManager.Persist(user);
                        hwManager.Delete(uev);

                        return(true);
                    }
                    else
                    {
                        //User not found.
                    }
                }
                else
                {
                    //Validation text not found in database
                }
            }
            else
            {
                //Validation text not supplied.
            }

            return(false);
        }
Beispiel #2
0
        public Response ValidateEmail(DynamicDictionary _parameters)
        {
            const string success = @"
                <html>
                    <head>
                    </head>
                    <body>
                        <p>You have successfully validated your email with HydrantWiki.</p>
                        <p><a href=""www.hydrantwiki.com"">HydrantWiki</a></p>
                    </body>
                </html>";

            const string failure = @"
                <html>
                    <head>
                    </head>
                    <body>
                        <p>Unable to validate your email with HydrantWiki.</p>
                        <p><a href=""www.hydrantwiki.com"">HydrantWiki</a></p>
                    </body>
                </html>";

            string validationToken = _parameters["token"];

            HydrantWikiManager hwManager = new HydrantWikiManager();

            if (!string.IsNullOrEmpty(validationToken))
            {
                TGUserEmailValidation uev = hwManager.GetTGUserEmailValidation(validationToken);

                if (uev != null &&
                    uev.ParentGuid != null)
                {
                    User user = (User)hwManager.GetUser(uev.ParentGuid.Value);

                    if (user != null)
                    {
                        user.IsVerified = true;

                        hwManager.Persist(user);
                        hwManager.Delete(uev);
                        hwManager.LogInfo(user.Guid, string.Format("Validated email address ({0})", user.EmailAddress));

                        Response successResponse = Response.AsText(success);
                        successResponse.ContentType = "text/html";
                        return(successResponse);
                    }
                    else
                    {
                        //User not found.
                        hwManager.LogWarning(Guid.Empty, string.Format("User not found (Token:{0})", validationToken));
                    }
                }
                else
                {
                    //Validation text not found in database
                    hwManager.LogWarning(Guid.Empty, string.Format("Validated token not found ({0})", validationToken));
                }
            }
            else
            {
                //Validation text not supplied.
                hwManager.LogWarning(Guid.Empty, "Validation token not supplied");
            }

            Response failureResponse = Response.AsText(failure);

            failureResponse.ContentType = "text/html";
            return(failureResponse);
        }