Ejemplo n.º 1
0
        public async Task <ActionResult> Contact(ContactPageModel contactModel)
        {
            _logger.Info("Sending contact form email.");

            if (!ModelState.IsValid)
            {
                _logger.Info("Contact model invalid, returning contact view.");

                return(View(contactModel));
            }

            try
            {
                await _iEmailLogic.SendContactFromEmail(contactModel);

                _logger.Info($"Successfully sent contact form email.");

                return(RedirectToRoute("contact-message-sent-url"));
            }
            catch (Exception ex)
            {
                _logger.Error($"Something went wrong sending the contact form email. Exception: {ex.Message}.");

                return(View("Error"));
            }
        }
Ejemplo n.º 2
0
        public ActionResult Contact(ContactPageModel model)
        {
            if (ModelState.IsValid)
            {
                string messageSubject = "Message from: " + model.Email;

                string content = System.IO.File.ReadAllText(System.Web.HttpContext.Current.Server.MapPath("~/Mail Templates/ContactMailTemplate.html"));

                // look into file to understand where parameters are
                string message = string.Format(content, model.Name, model.Message);

                try
                {
                    EmailSender.SendHtmlEmailTo("*****@*****.**", messageSubject, message);
                    PZLogger.GetInstance().Info("HOME_CONTROLLER::Mail from " + model.Email + " successful sent");

                    return(View("ContactThanks"));
                }
                catch (Exception e)
                {
                    PZLogger.GetInstance().Error("HOME_CONTROLLER::" + e.Message);
                    return(View("~/Views/Shared/Error.cshtml"));
                }
            }
            else
            {
                return(View(model));
            }
        }
        public static void CreateNewContact()
        {
            var container = A.Fake <IRootNavigation> ();

            TinyIoC.TinyIoCContainer.Current.Register <IRootNavigation> (container);

            var db = new DatabaseService(new SQLiteFactory());
            var vm = new ContactPageModel(db);

            vm.Init(null);

            //save to database
            vm.Contact.Name  = "Peter";
            vm.Contact.Phone = "9087";
            vm.Done.Execute(null);

            Assert.IsTrue(vm.Contact.ContactId > 0);

            //get from database
            var savedContact
                = db.Conn.Table <Contact> ().Where((c) => c.ContactId == vm.Contact.ContactId).FirstOrDefault();

            Assert.AreEqual("Peter", savedContact.Name);
            Assert.AreEqual("9087", savedContact.Phone);
            A.CallTo(() => container.PopPage()).MustHaveHappened();
        }
Ejemplo n.º 4
0
        public ActionResult Contact(ContactPageModel model)
        {
            if (!ReCaptcha.Validate(DataUtils.GetConfig("reCaptcha:SecretKey")))
            {
                ModelState.AddModelError("", "Captcha cannot be empty");
            }

            if (ModelState.IsValid)
            {
                EMail mail = new EMail()
                {
                    Name        = model.Name,
                    SenderEmail = model.EmailAddress,
                    Body        = model.Message,
                    ToAddress   = model.EmailAddressTo,
                    Subject     = "New message",
                    IsHtml      = true
                };

                EmailUtils.SendEmail(mail);

                return(Redirect($"/{CurrentUser.LanguageCode}/contact/confirm-contact/"));
            }
            return(CurrentUmbracoPage());
        }
Ejemplo n.º 5
0
        public ActionResult HandleContactUs(ContactPageModel model)
        {
            if (!ReCaptcha.Validate(DataUtils.GetConfig("ReCaptcha:SecretKey")))
            {
                ModelState.AddModelError("", "Captcha cannot be empty");
            }

            if (ModelState.IsValid)
            {
                EMail mail = new EMail()
                {
                    Name        = model.Name,
                    SenderEmail = model.EmailAddress,
                    Body        = model.Message,
                    ToAddress   = SnuffoSettings.Create(model.Content).SupportEmail,
                    Subject     = model.Subject,
                    IsHtml      = true
                };

                EmailUtils.SendEmail(mail);

                return(Redirect($"/{CurrentUser.LanguageCode}/contact/submitted"));
            }

            return(CurrentUmbracoPage());
        }
Ejemplo n.º 6
0
        public void OnGet_RequestPage()
        {
            // Arrange
            ContactPageModel pageModel = new ContactPageModel();
            // Act
            var result = pageModel.Page();

            // Assert
            Assert.IsType <PageResult>(result);
        }
Ejemplo n.º 7
0
        public static Dictionary <string, string> ToContactParamDictionaryModel(this ContactPageModel contactModel)
        {
            var contactParamDictionary = new Dictionary <string, string>
            {
                [EmailParametersEnum.From.ToString().ToLower()]    = contactModel.Name,
                [EmailParametersEnum.Email.ToString().ToLower()]   = contactModel.Email,
                [EmailParametersEnum.Message.ToString().ToLower()] = contactModel.Message
            };

            return(contactParamDictionary);
        }
Ejemplo n.º 8
0
        public async Task SendContactFromEmail(ContactPageModel contactModel)
        {
            var adminEmails = ConfigurationManager.AppSettings["ArticoleCalarieAdminEmails"];

            var sendTo = adminEmails.Split(';').ToList();

            var template = GetEmailTemplate(MailTemplates.ContactEmail);

            template = MapTemplateDetails(template, contactModel.ToContactParamDictionaryModel());

            var emailModel = new EmailModel
            {
                To      = sendTo,
                From    = ConfigurationManager.AppSettings["ArticoleCalarieEmail"],
                Subject = string.Format(MailSubjects.NewMessage),
                Body    = template,
                ReplyTo = contactModel.Email
            };

            await _iMailService.SendMail(emailModel);
        }
Ejemplo n.º 9
0
        public ActionResult ContactPage()
        {
            var contact = new ContactPageModel();

            return(PartialView(new ContactPageModel()));
        }