protected void Page_Load(object sender, EventArgs e) { bool error = false; int reviewerProfileId = AlwaysConvert.ToInt(Request.QueryString["Reviewer"]); ReviewerProfile profile = ReviewerProfileDataSource.Load(reviewerProfileId); if (profile != null) { if (!profile.EmailVerified) { Guid code = AlwaysConvert.ToGuid(Request.QueryString["Code"]); if (profile.EmailVerificationCode == code) { //VERIFY THIS USER profile.VerifyEmail(); } else { error = true; } } } else { error = true; } SuccessText.Text = SuccessMessage; SuccessText.Visible = !error; FailureText.Text = FailureMessage; FailureText.Visible = error; }
private bool SaveReview() { // SAVE REVIEWER PROFILE User user = AbleContext.Current.User; //MAKE SURE ANONYMOUS USER DOES NOT TRY TO USE REGISTERED USER EMAIL if (user.IsAnonymous) { IList <User> users = UserDataSource.LoadForEmail(Email.Text); if (users.Count > 0) { CustomValidator invalidEmail = new CustomValidator(); invalidEmail.Text = "*"; invalidEmail.ErrorMessage = "Your email address is already registered. You must log in to post the review."; invalidEmail.IsValid = false; invalidEmail.ValidationGroup = "ProductReviewForm"; phEmailValidators.Controls.Add(invalidEmail); return(false); } user.Save(); } _Profile = user.ReviewerProfile; // TRY TO LOAD PROFILE BY EMAIL if (_Profile == null) { _Profile = ReviewerProfileDataSource.LoadForEmail(Email.Text); if (_Profile != null) { if (_ProductReview == null) { _ProductReview = ProductReviewDataSource.LoadForProductAndReviewerProfile(_ProductId, _Profile.Id); } // ATTEMPT TO SUBMIT A 2ND REVIEW FOR THIS PRODUCT BY AN ANNONYMOUS USER if (_ProductReview != null && String.IsNullOrEmpty(Request.Form[OverwriteReviewButton.UniqueID])) { // WARN THE USER THAT A REVIEW IS ALREADY SUBMITTED BY SAME EMAIL ADDRESS CustomValidator reviewAlreadySubmitted = new CustomValidator(); reviewAlreadySubmitted.Text = "*"; reviewAlreadySubmitted.ErrorMessage = "You have already submitted a review for this product, do you want to overwrite your previous review?"; reviewAlreadySubmitted.IsValid = false; reviewAlreadySubmitted.ValidationGroup = "ProductReviewForm"; phEmailValidators.Controls.Add(reviewAlreadySubmitted); OverwriteReviewButton.Visible = true; SubmitReviewButton.Visible = false; return(false); } } } if (_Profile == null) { _Profile = new ReviewerProfile(); } _Profile.Email = ((user.IsAnonymous && String.IsNullOrEmpty(GetUserEmail())) ? Email.Text : GetUserEmail()); _Profile.DisplayName = StringHelper.StripHtml(Name.Text, true); _Profile.Location = StringHelper.StripHtml(Location.Text, true); _Profile.Save(); //IF PROFILE IS NULL, AN ERROR OCCURRED VALIDATING THE EMAIL if (_Profile != null) { //EITHER LOAD THE EXISTING REVIEW OR CREATE NEW if (_ProductReview == null) { _ProductReview = ProductReviewDataSource.LoadForProductAndReviewerProfile(_ProductId, _Profile.Id); } if (_ProductReview == null) { _ProductReview = new ProductReview(); } _ProductReview.ReviewerProfile = _Profile; _ProductReview.Product = _Product; _ProductReview.ReviewDate = LocaleHelper.LocalNow; _ProductReview.Rating = AlwaysConvert.ToByte(Rating.SelectedValue); _ProductReview.ReviewTitle = StringHelper.StripHtml(ReviewTitle.Text, true); _ProductReview.ReviewBody = StringHelper.StripHtml(ReviewBody.Text, true); _ProductReview.Save(AbleContext.Current.User, true, true); return(true); } return(false); }