/// <summary> /// Sends a notification to the administrators. Do not use for anything that requires corrective action. /// </summary> public static void SendAdministratorNotification(string message) { var emailMessage = getNotificationEmailMessage(message); emailMessage.ToAddresses.AddRange(EmailStatics.GetAdministratorEmailAddresses()); EmailStatics.SendEmailWithDefaultFromAddress(emailMessage); }
/// <summary> /// Reports an administrator-correctable error to the administrators. /// </summary> public static void ReportAdministratorCorrectableError(Exception e) { var emailMessage = getErrorEmailMessage(e.Message); emailMessage.ToAddresses.AddRange(EmailStatics.GetAdministratorEmailAddresses()); EmailStatics.SendEmailWithDefaultFromAddress(emailMessage); }
/// <summary> /// Reports an administrator-correctable fault (a problem that could later cause errors) to the administrators. /// </summary> public static void ReportAdministratorCorrectableFault(string message) { var emailMessage = getFaultEmailMessage(message); emailMessage.ToAddresses.AddRange(EmailStatics.GetAdministratorEmailAddresses()); EmailStatics.SendEmailWithDefaultFromAddress(emailMessage); }
protected override void loadData() { ph.AddControlsReturnThis(new LegacyParagraph("You may report any problems, make suggestions, or ask for help here.")); FormState.ExecuteWithDataModificationsAndDefaultAction( PostBack.CreateFull(firstModificationMethod: modifyData, actionGetter: () => new PostBackAction(new ExternalResourceInfo(info.ReturnUrl))) .ToCollection(), () => { var list = FormItemList.CreateStack(); list.AddFormItems( new EmailAddress(AppTools.User.Email, AppTools.User.FriendlyName).ToMailAddress() .ToString() .ToComponents() .ToFormItem(label: "From".ToComponents()), "{0} ({1} for this system)".FormatWith( StringTools.GetEnglishListPhrase(EmailStatics.GetAdministratorEmailAddresses().Select(i => i.DisplayName), true), "support contacts".ToQuantity(EmailStatics.GetAdministratorEmailAddresses().Count(), showQuantityAs: ShowQuantityAs.None)) .ToComponents() .ToFormItem(label: "To".ToComponents()), body.ToTextControl(false, setup: TextControlSetup.Create(numberOfRows: 10), value: "").ToFormItem(label: "Message".ToComponents())); ph.AddControlsReturnThis(list.ToCollection().GetControls()); EwfUiStatics.SetContentFootActions(new ButtonSetup("Send Message").ToCollection()); }); }
protected override void loadData() { ph.AddControlsReturnThis(new LegacyParagraph("You may report any problems, make suggestions, or ask for help here.")); var pb = PostBack.CreateFull(firstModificationMethod: modifyData, actionGetter: () => new PostBackAction(new ExternalResourceInfo(info.ReturnUrl))); FormState.ExecuteWithDataModificationsAndDefaultAction( pb.ToCollection(), () => { var table = FormItemBlock.CreateFormItemTable(); table.AddFormItems( FormItem.Create( "From", new PlaceHolder().AddControlsReturnThis( new EmailAddress(AppTools.User.Email, AppTools.User.FriendlyName).ToMailAddress().ToString().ToComponents().GetControls())), FormItem.Create( "To", new PlaceHolder().AddControlsReturnThis( "{0} ({1} for this system)".FormatWith( StringTools.GetEnglishListPhrase(EmailStatics.GetAdministratorEmailAddresses().Select(i => i.DisplayName), true), "support contacts".ToQuantity(EmailStatics.GetAdministratorEmailAddresses().Count(), showQuantityAs: ShowQuantityAs.None)) .ToComponents() .GetControls())), FormItem.Create( "Message", new EwfTextBox("", rows: 10), validationGetter: control => new EwfValidation( (pbv, validator) => body.Value = validator.GetString(new ValidationErrorHandler("message"), control.GetPostBackValue(pbv), false)))); ph.AddControlsReturnThis(table); }); EwfUiStatics.SetContentFootActions(new ActionButtonSetup("Send Message", new PostBackButton(pb))); }
private void modifyData() { var message = new EmailMessage { Subject = "Contact from " + AppTools.SystemName, BodyHtml = ("Contact from " + AppTools.User.Email + Environment.NewLine + Environment.NewLine + emailText).GetTextAsEncodedHtml() }; message.ToAddresses.AddRange(EmailStatics.GetAdministratorEmailAddresses()); message.ReplyToAddresses.Add(new EmailAddress(AppTools.User.Email)); EmailStatics.SendEmailWithDefaultFromAddress(message); AddStatusMessage(StatusMessageType.Info, "Your feedback has been sent."); }
private void modifyData() { var message = new EmailMessage { From = new EmailAddress(AppTools.User.Email, AppTools.User.FriendlyName), Subject = "Contact from " + ConfigurationStatics.SystemName, BodyHtml = body.Value.GetTextAsEncodedHtml() }; message.ToAddresses.AddRange(EmailStatics.GetAdministratorEmailAddresses()); EmailStatics.SendEmail(message); AddStatusMessage(StatusMessageType.Info, "Your message has been sent."); }
protected override PageContent getContent() { var body = new DataValue <string>(); return(FormState.ExecuteWithDataModificationsAndDefaultAction( PostBack.CreateFull( modificationMethod: () => { var message = new EmailMessage { Subject = "Support request from {0} in {1}".FormatWith( AppTools.User.FriendlyName.Any() ? AppTools.User.FriendlyName : AppTools.User.Email, ConfigurationStatics.SystemDisplayName), BodyHtml = body.Value.GetTextAsEncodedHtml() }; message.ReplyToAddresses.Add(new EmailAddress(AppTools.User.Email, AppTools.User.FriendlyName)); message.ToAddresses.AddRange(EmailStatics.GetAdministratorEmailAddresses()); EmailStatics.SendEmailWithDefaultFromAddress(message); AddStatusMessage(StatusMessageType.Info, "Your message has been sent."); }, actionGetter: () => new PostBackAction(new ExternalResource(ReturnUrl))) .ToCollection(), () => new UiPageContent(contentFootActions: new ButtonSetup("Send Message").ToCollection()) .Add(new Paragraph("You may report any problems, make suggestions, or ask for help here.".ToComponents())) .Add( FormItemList.CreateStack( items: new EmailAddress(AppTools.User.Email, AppTools.User.FriendlyName).ToMailAddress() .ToString() .ToComponents() .ToFormItem(label: "From".ToComponents()) .Append( "{0} ({1} for this system)".FormatWith( StringTools.GetEnglishListPhrase(EmailStatics.GetAdministratorEmailAddresses().Select(i => i.DisplayName), true), "support contacts".ToQuantity(EmailStatics.GetAdministratorEmailAddresses().Count(), showQuantityAs: ShowQuantityAs.None)) .ToComponents() .ToFormItem(label: "To".ToComponents())) .Append( body.ToTextControl(false, setup: TextControlSetup.Create(numberOfRows: 10), value: "").ToFormItem(label: "Message".ToComponents())) .Materialize())))); }