Example #1
0
 public ActionResult ConsignNow(ConsignNowForm form)
 {
     try
     {
         form.FileLinks   = Directory.GetFiles(ImageRepository.GetTempImagePath(form.ID), "sf_*.*").Select(file => new FileInfo(file)).Select(fileInfo => string.Format("{0}{1}", Consts.ResourceHostName, AppHelper.TempImage(form.ID, fileInfo.Name))).ToList();
         form.Attachments = Directory.GetFiles(ImageRepository.GetTempImagePath(form.ID), "thmb_*.*").ToList();
         var isValidCaptchaValue = CaptchaController.IsValidCaptchaValue(form.CaptchaValue);
         if (!isValidCaptchaValue)
         {
             throw new Exception("Invalid captcha!");
         }
         string        sendEmails = ConfigurationManager.AppSettings["ConsignorMessagesEmail"];
         List <string> emails     = new List <string>(sendEmails.Split(','));
         foreach (string email in emails.Where(t => !string.IsNullOrEmpty(t)).Distinct())
         {
             Mail.SendMessageFromConsignor(email, form);
         }
         InitCurrentEvent();
     }
     catch (Exception ex)
     {
         ViewData["Error"] = ex.Message;
         form.CaptchaValue = string.Empty;
         return(View(form));
     }
     return(View("ConsignNowSuccess"));
 }
        public static void SendMessageFromConsignor(string emailTo, ConsignNowForm form)
        {
            UniMail.Template template = new UniMail.Template(HttpContext.Current.Server.MapPath(@"~\Templates\Mail\MessageFromConsignor.txt"));
            template.Encoding = Encoding.UTF8;
            template.ToEmail  = emailTo;
            template.Data.Add("{{firstname}}", form.FirstName);
            template.Data.Add("{{lastname}}", form.LastName);
            template.Data.Add("{{email}}", form.Email);
            template.Data.Add("{{phone}}", form.Phone ?? string.Empty);
            if (!string.IsNullOrWhiteSpace(form.Description))
            {
                template.Data.Add("{{descriptionTitle}}", "Item(s) description:");
                template.Data.Add("{{description}}", form.Description);
            }
            else
            {
                template.Data.Add("{{descriptionTitle}}", string.Empty);
                template.Data.Add("{{description}}", string.Empty);
            }
            template.Data.Add("{{acquire}}", form.Acquire ?? string.Empty);
            template.Data.Add("{{finance}}", form.Finance ? "Yes" : "No");
            template.Data.Add("{{subscribe}}", form.Subscribe ? "Yes" : "No");
            if (form.FileLinks.Any())
            {
                StringBuilder sb = new StringBuilder("Image(s):<br />");
                form.FileLinks.ForEach(t => sb.AppendFormat("<a href=\"{0}\" target=\"_blank\"><img src=\"{0}\" style=\"max-width:220px;max-height:220px;\"></a>", t)); template.Data.Add("{{images}}", sb.ToString());
            }
            else
            {
                template.Data.Add("{{images}}", string.Empty);
            }

            form.Attachments.ForEach(t => template.AttachItem.Add(new Attachment(t, MediaTypeNames.Image.Jpeg)));
            ParseCommonData(template);
            UniMail.Mailer.Send(template.RenderHTML());
        }