Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        /// <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);
        }
Exemplo n.º 3
0
        /// <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);
        }
Exemplo n.º 4
0
        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)));
        }
Exemplo n.º 6
0
        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.");
        }
Exemplo n.º 7
0
        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()))));
        }