void buttonReset_Click(object sender, EventArgs e) { this.widgetFeedback.Reset(); // get... FormChecker checker = new FormChecker(); string email = checker.GetStringValue(new ControlReference(this.textEmail, "Email"), true); // not... if(!(checker.HasErrors)) { // find... ApiKey key = ApiKey.GetByEmail(email); if (key != null) { // reset... string password = key.ResetPassword(); // send... IDictionary values = CollectionsUtil.CreateCaseInsensitiveHashtable(); values["password"] = password; EmailHelper.SendEmail(EmailKeys.ForgotPassword, key, values); // show... this.widgetFeedback.SetInfo("Your new password has been sent."); } else checker.AddError(string.Format("An account for email address '{0}' was not found.", email)); } // show... if (checker.HasErrors) this.widgetFeedback.SetError(checker); }
void buttonPassword_Click(object sender, EventArgs e) { this.widgetEmailFeedback.Reset(); this.widgetPasswordFeedback.Reset(); FormChecker checker = new FormChecker(); string password = checker.GetStringValue(new ControlReference(this.textPassword, "Password"), true); string confirm = checker.GetStringValue(new ControlReference(this.textConfirm, "Confirm"), true); // check... if (!(checker.HasErrors)) { // match? if (password == confirm) { // set... this.CurrentUser.SetPassword(password, true); // show... this.widgetPasswordFeedback.SetInfo("Your password has been changed."); } else checker.AddError("The passwords do not match."); } // show... if (checker.HasErrors) this.widgetPasswordFeedback.SetError(checker); }
void buttonLogon_Click(object sender, EventArgs e) { this.widgetFeedback.Reset(); // get... FormChecker checker = new FormChecker(this); string username = checker.GetStringValue(new ControlReference(this.textUsername, "Username"), true); string password = checker.GetStringValue(new ControlReference(this.textPassword, "Password"), true); // not... if (!(checker.HasErrors)) { // find... ApiKey key = ApiKey.GetByUsername(username); if (key != null) { if (key.IsActive) { // password... string hashed = EncryptionHelper.HashPasswordToBase64String(password, key.PasswordSalt); if (hashed == key.PasswordHash) { // logon... RememberUserFlags flags = RememberUserFlags.DoNotRememberUsers; if(this.checkRemember.Checked) flags = RememberUserFlags.UsernameAndPassword; this.Logon(key, flags, new TimeSpan(90, 0, 0, 0)); // go... this.Response.Redirect("~/default.aspx"); } else checker.AddError("The password is invalid."); } else checker.AddError("The API account is not active."); } else checker.AddError("The username is invalid."); } // show... if (checker.HasErrors) this.widgetFeedback.SetError(checker); }
void buttonEmail_Click(object sender, EventArgs e) { this.widgetEmailFeedback.Reset(); this.widgetPasswordFeedback.Reset(); FormChecker checker = new FormChecker(); string email = checker.GetStringValue(new ControlReference(this.textEmail, "Email"), true); // check... if (!(checker.HasErrors)) { // get... ApiKey existing = ApiKey.GetByEmail(email); if (existing == null) { // set... this.CurrentUser.Email = email; this.CurrentUser.SaveChanges(); // show... this.widgetEmailFeedback.SetInfo("The email address has been changed."); } else { // us? if(CurrentUser == null) throw new InvalidOperationException("'CurrentUser' is null."); if (existing.ApiKeyId == this.CurrentUser.ApiKeyId) checker.AddError("Please enter a new email address."); else checker.AddError("Another account is already using this email address."); } } // show... if (checker.HasErrors) this.widgetEmailFeedback.SetError(checker); }
void buttonSave_Click(object sender, EventArgs e) { this.widgetFeedback.Reset(); // get... FormChecker checker = new FormChecker(); string username = checker.GetStringValue(new ControlReference(this.textUsername, "Username"), true); string password = checker.GetStringValue(new ControlReference(this.textPassword, "Password"), true); string confirm = checker.GetStringValue(new ControlReference(this.textConfirm, "Confirm"), true); string firstName = checker.GetStringValue(new ControlReference(this.textFirstName, "First name"), true); string lastName = checker.GetStringValue(new ControlReference(this.textLastName, "Last name"), true); string company = checker.GetStringValue(new ControlReference(this.textCompany, "Company"), true); string address1 = checker.GetStringValue(new ControlReference(this.textAddress1, "Address 1"), true); string address2 = checker.GetStringValue(new ControlReference(this.textAddress2, "Address 2"), false); string address3 = checker.GetStringValue(new ControlReference(this.textAddress3, "Address 3"), false); string city = checker.GetStringValue(new ControlReference(this.textCity, "City/town"), true); string region = checker.GetStringValue(new ControlReference(this.textRegion, "Region/county"), false); string postalCode = checker.GetStringValue(new ControlReference(this.textPostalCode, "Postal code/postcode"), true); Country country = (Country)checker.GetEntity(new ControlReference(this.listCountry, "Country"), typeof(Country), true); string email = checker.GetStringValue(new ControlReference(this.textEmail, "Email"), true); // not... if (!(checker.HasErrors)) { // check... if (password == confirm) { // find... ApiKey existing = ApiKey.GetByUsername(username); if (existing == null) { // check email... ApiKey byUser = ApiKey.GetByEmail(email); if(byUser == null) { // create... ApiKey key = new ApiKey(); key.Username = username; key.SetPassword(password, false); key.FirstName = firstName; key.LastName = lastName; key.Company = company; key.Address1 = address1; key.Address2 = address2; key.Address3 = address3; key.City = city; key.Region = region; key.PostalCode = postalCode; key.Country = country; key.Email = email; key.Subscribe = this.checkSubscribe.Checked; key.IsActive = true; // save... key.SaveChanges(); // send... EmailHelper.SendEmail(EmailKeys.NewRegistration, key); // logon... this.Logon(key, RememberUserFlags.DoNotRememberUsers, TimeSpan.MinValue); // redirect... this.Response.Redirect("~/"); } else checker.AddError(string.Format("The email address '{0}' has already been used.", email)); } else checker.AddError(string.Format("The username '{0}' already exists.", username)); } else checker.AddError("Passwords do not match."); } // not... if (checker.HasErrors) this.widgetFeedback.SetError(checker); }