Exemplo n.º 1
0
        void SubmitContactForm(object sender, MouseEventArgs mouseEvent)
        {
            if (ValidateContactForm())
            {
                ContactFormRequest postRequest = new ContactFormRequest(questionInput.Text, detailInput.Text, emailInput.Text, nameInput.Text, "");

                formContainer.Visible    = false;
                messageContainer.Visible = true;

                centerContainer.RemoveAllChildren();
                centerContainer.AddChild(messageContainer);

                cancelButton.Visible = false;
                submitButton.Visible = false;

                postRequest.RequestSucceeded += new EventHandler(onPostRequestSucceeded);
                postRequest.RequestFailed    += new EventHandler(onPostRequestFailed);
                postRequest.Request();
            }
        }
Exemplo n.º 2
0
        public async Task <IHttpActionResult> Send(ContactFormRequest form)
        {
            if (!EmailValidator.IsValidEmail(form.EmailAddress) || form.Message.IsNullOrWhiteSpace())
            {
                return(BadRequest());
            }

            var message = new StringBuilder();

            message.AppendLine($"Email: {form.EmailAddress}<br /><br />");
            message.AppendLine($"Name: {form.Name}<br /><br />");
            message.AppendLine(form.Message);

            // TODO replace with whiscode domain email once transfer has completed
            if (await _emailService.SendAsync("*****@*****.**", "Website Enquiry", message.ToString()))
            {
                return(Ok());
            }

            return(InternalServerError());
        }
Exemplo n.º 3
0
        public static BasicResponse contactFormImplementation(ContactFormRequest request)
        {
            if (String.IsNullOrWhiteSpace(request.email))
            {
                return(new BasicResponse {
                    message = "Please enter an email", status = 200, success = false
                });
            }
            else if (String.IsNullOrWhiteSpace(request.name))
            {
                return(new BasicResponse {
                    message = "Please enter a name", status = 200, success = false
                });
            }
            else if (String.IsNullOrWhiteSpace(request.message))
            {
                return(new BasicResponse {
                    message = "Please enter a message.", status = 200, success = false
                });
            }

            var contactFormBody = "Name: "
                                  + request.name
                                  + Environment.NewLine
                                  + "Email: "
                                  + request.email
                                  + Environment.NewLine
                                  + "Message: "
                                  + request.message;

            SlackHelper.sendSupportChannel(contactFormBody);

            EmailNoTemplateHelper.SendEmail("Pedal Contact", "*****@*****.**", contactFormBody);
            EmailTemplateHelper.SendEmail("Pedal Contact", request.email, Constants.PedalWebUrl, request.name, "contact_form.html", request.message);

            return(new BasicResponse {
                message = "Success", status = 200, success = true
            });
        }
        // SHARED

        // Send email from contact form

        public BasicResponse contactForm(ContactFormRequest request)
        {
            try
            {
                Logs.LogsInsertAction("Contact form attempted");
                var validResponse = Shared.contactForm.contactFormImplementation(request);
                if (validResponse.success == true)
                {
                    Logs.LogsInsertAction("Contact form success: " + validResponse.message);
                }
                else
                {
                    Logs.LogsInsertAction("Contact form failure: " + validResponse.message);
                }
                return(validResponse);
            }
            catch (Exception exception)
            {
                Logs.LogsInsertError(exception);
                return(new BasicResponse {
                    message = "An error occured. The Pedal team has been notified.", success = false
                });
            }
        }
        public ContactFormPage()
        {
            this.WindowTitle = "MatterControl : " + "Submit Feedback".Localize();
            this.HeaderText  = "How can we improve?".Localize();

            contentRow.Padding = theme.DefaultContainerPadding;

            submitButton        = theme.CreateDialogButton("Submit".Localize());
            submitButton.Click += (sender, eventArgs) =>
            {
                if (ValidateContactForm())
                {
                    ContactFormRequest postRequest = new ContactFormRequest(questionInput.Text, detailInput.Text, emailInput.Text, nameInput.Text, "");

                    contentRow.RemoveChildren();

                    contentRow.AddChild(messageContainer);

                    submitButton.Visible = false;

                    postRequest.RequestSucceeded += (s, e) =>
                    {
                        submissionStatus.Text = "Thank you!  Your information has been submitted.".Localize();
                        this.SetCancelButtonText("Done".Localize());
                    };
                    postRequest.RequestFailed += (s, e) =>
                    {
                        submissionStatus.Text = "Sorry!  We weren't able to submit your request.".Localize();
                    };
                    postRequest.Request();
                }
            };
            this.AddPageAction(submitButton);

            messageContainer = new FlowLayoutWidget(FlowDirection.TopToBottom)
            {
                HAnchor = HAnchor.Stretch,
                VAnchor = VAnchor.Stretch
            };

            submissionStatus = new TextWidget("Submitting your information...".Localize(), pointSize: 13)
            {
                AutoExpandBoundsToText = true,
                Margin    = new BorderDouble(0, 5),
                TextColor = theme.TextColor,
                HAnchor   = HAnchor.Left
            };

            messageContainer.AddChild(submissionStatus);

            // Default sizing results in too much top whitespace, revise Subject row to only be as big as content
            var subjectRow = CreateLabelRow("Subject".Localize());

            subjectRow.VAnchor = VAnchor.Fit;
            contentRow.AddChild(subjectRow);
            contentRow.AddChild(questionInput = new MHTextEditWidget("", theme)
            {
                HAnchor = HAnchor.Stretch
            });
            contentRow.AddChild(questionErrorMessage = CreateErrorRow());

            contentRow.AddChild(CreateLabelRow("Message".Localize()));
            contentRow.AddChild(detailInput = new MHTextEditWidget("", theme, pixelHeight: 120, multiLine: true)
            {
                HAnchor = HAnchor.Stretch
            });
            contentRow.AddChild(detailErrorMessage = CreateErrorRow());

            contentRow.AddChild(CreateLabelRow("Email Address".Localize()));
            contentRow.AddChild(emailInput = new MHTextEditWidget("", theme)
            {
                HAnchor = HAnchor.Stretch
            });
            contentRow.AddChild(emailErrorMessage = CreateErrorRow());

            contentRow.AddChild(CreateLabelRow("Name".Localize()));
            contentRow.AddChild(nameInput = new MHTextEditWidget("", theme)
            {
                HAnchor = HAnchor.Stretch
            });
            contentRow.AddChild(nameErrorMessage = CreateErrorRow());
        }