예제 #1
0
        public ActionResult Contact(int?id)
        {
            ContactRequestVM model = new ContactRequestVM()
            {
                NewRequest = new ContactRequest()
            };

            if (id != null)
            {
                var vehicle = VehicleListingsFactory.GetRepository().GetById((int)id);

                model.NewRequest.Message = vehicle.VIN;
            }

            return(View(model));
        }
        public IActionResult Index(ContactRequestVM model)
        {
            if (!ModelState.IsValid)
            {
                ModelState.AddModelError("GeneralError", "Invalid form!");
                return(View(model));
            }

            try
            {
                IConfigurationSection mailSettings = _configuration.GetSection("MailSettings");
                int.TryParse(mailSettings.GetSection("EMailHostPort").Value, out int hostPort);

                SmtpClient smtpClient = new SmtpClient(mailSettings.GetSection("EMailHost").Value, hostPort);

                smtpClient.Credentials           = new System.Net.NetworkCredential(mailSettings.GetSection("EMailAddress").Value, mailSettings.GetSection("EMailPassword").Value);
                smtpClient.DeliveryMethod        = SmtpDeliveryMethod.Network;
                smtpClient.EnableSsl             = true;
                smtpClient.UseDefaultCredentials = true;
                MailMessage mail = new MailMessage();

                //Setting From , To and CC
                mail.From = new MailAddress(mailSettings.GetSection("EMailAddress").Value, "SuggestionBoard - Contact Form");
                mail.To.Add(new MailAddress(mailSettings.GetSection("EMailAddress").Value));
                mail.CC.Add(new MailAddress(model.EMail));
                mail.Subject = $"{model.Name} : { model.Subject}";
                mail.Body    = model.Message;

                smtpClient.Send(mail);

                ViewBag.MessageSendSuccess = "Your message succesfully sent!";
            }
            catch (Exception ex)
            {
                _logger.LogError("Contact", ex);
            }

            return(View(new ContactRequestVM()));
        }
예제 #3
0
        public ActionResult Contact(ContactRequestVM model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var repo = ContactRequestsFactory.GetRepository();

                    repo.Insert(model.NewRequest);

                    return(RedirectToAction("Index"));
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            else
            {
                return(View("Contact", model));
            }
        }