public IHttpActionResult Post(JObject data)
        {
            dynamic json = data;
            var result = Captcha.Check((string)json.Captcha);

            if (json.bank == "" || json.fio == "" || json.email == "" || json.mailAddress == "" || json.phone == "" || json.position == "" || json.materials.Count == 0)
            {
                return ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Заполните обязательные поля!"));
            }
            else
            {
                if (result == true)
                {
                    IList<Material> materials = json.materials.ToObject<IList<Material>>();

                    ApplicationMaterials application = new ApplicationMaterials()
                    {
                        Bank = json.bank,
                        FIO = json.fio,
                        MailAddress = json.mailAddress,
                        Phone = json.phone,
                        Position = json.position,
                        Materials = materials,
                        Email = json.email
                    };
                    Emailer.OrderMaterialsNotificate(application);
                    return Ok("Спасибо! Ваша заявка успешно отправлена.");
                }
                else
                {
                    return ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Заполните капчу!"));
                }

            }
        }
Exemple #2
0
        public static void OrderMaterialsNotificate(ApplicationMaterials application)
        {
            var mail = new MailMessage();
            mail.To.Add("[email protected], [email protected], [email protected]");
            mail.From = new MailAddress("*****@*****.**", "Тестировщики", Encoding.UTF8);
            mail.Subject = "Заказ маркетинговой продукции от [" + application.Bank.ToString() + "]";
            mail.SubjectEncoding = Encoding.UTF8;

            string mailMessage = "<h3>Здравствуйте!</h3><br>Вы получили новый заказ на маркетинговые материалы.<br><br><b>Банк: </b> "+application.Bank+"<br><b>Должность: </b> "+application.Position+ "<br><b>ФИО: </b> " + application.FIO + "<br><b>E-mail: </b> " + application.Email + "<br><b>Почтовый адрес: </b> " + application.MailAddress;
            mailMessage += "<ol>";
            foreach (var item in application.Materials)
            {
                mailMessage += "<li>"+item.Name+", "+item.Quantity+" штук</li>";
            }
            mailMessage += "</ol>";

            mail.Body = mailMessage;
            mail.BodyEncoding = Encoding.UTF8;
            mail.IsBodyHtml = true;
            mail.Priority = MailPriority.High;

            var client = new SmtpClient("relay.ftc.ru", 25);

            client.Send(mail);
        }