Пример #1
0
 public PartialViewResult ConstantList()
 {
     using (EFConstantContext constantContext = new EFConstantContext())
     {
         return(PartialView("_ConstantList", constantContext.Constants.OrderBy(c => c.Name).ToList()));
     }
 }
Пример #2
0
 public async Task ConstantDelete([Bind(Prefix = "m")] Constant constant)
 {
     using (EFConstantContext constantContext = new EFConstantContext())
     {
         if (Request.IsAjaxRequest())
         {
             await constantContext.DeleteConstantAsync(constant.Id);
         }
     }
 }
Пример #3
0
 public async Task ConstantSave([Bind(Prefix = "m")] Constant constant)
 {
     using (EFConstantContext constantContext = new EFConstantContext())
     {
         if (ModelState.IsValid && Request.IsAjaxRequest())
         {
             await constantContext.SaveConstantAsync(constant);
         }
     }
 }
Пример #4
0
 public SettingsController(ApplicationUserManager userManager,
                           ApplicationSignInManager signInManager,
                           RoleManager <IdentityRole> roleManager,
                           EFConstantContext constantContext
                           )
 {
     UserManager     = userManager;
     SignInManager   = signInManager;
     RoleManager     = roleManager;
     ConstantContext = constantContext;
 }
Пример #5
0
        public static async Task SendNews(string[] _params)
        {
            using (EFArticleContext articleContext = new EFArticleContext())
                using (EFMailArticleContext mailArticleContext = new EFMailArticleContext())
                    using (EFSubscriberContext subscriberContext = new EFSubscriberContext())
                        using (EFConstantContext constantContext = new EFConstantContext())
                        {
                            List <Article> forMailing = await articleContext.ArticlesForMailingAsync();

                            if (forMailing.Count() == 0)
                            {
                                return;
                            }

                            string siteUrl = constantContext.GetConstant("Общие: URL сайта");

                            StringBuilder news    = new StringBuilder();
                            string        message = String.Empty;
                            foreach (Article a in forMailing)
                            {
                                news.Append("<a style=\"color: #FF5200 !important; border-bottom: 2px solid #FF5200; display: block; padding: 10px; font-size: 18px; background-color: #f7f7f7; text-decoration: none; margin-top: 15px;\" href=" + siteUrl + "/articles/article/" + a.Link + ">" + a.Title + "</a>");
                                news.Append(System.Net.WebUtility.HtmlDecode(a.TextMain));
                                news.Append("<span style=\"display:block;text-align:right;\"><a style=\"display: inline-block; padding: 5px 10px; background-color: #f3f3f3; text-decoration: none !important; font-size: 12px;\" href=" + siteUrl + "/articles/article/" + a.Link + ">Читать полностью</a></span>");
                            }
                            ;
                            news.Append("<hr/>");

                            //string path = "e:\\vs\\baerova\\WebUI\\Content\\Delivery\\LetterNews.html";

                            //string file = "~/Content/Delivery/LetterNews.html";
                            string file = constantContext.GetConstant("Рассылки: шаблон для новостей");
                            string path = HostingEnvironment.MapPath(file);
                            //string path = "e:\\VS\\Baerova\\WebUI\\Content\\Delivery\\LetterNews.html";

                            if (System.IO.File.Exists(path))
                            {
                                string[] lines = System.IO.File.ReadAllLines(path);
                                message = String.Join(" ", lines).Replace("{0}", news.ToString());
                            }

                            //отбираем получателей и отправляем письмо пачками по 20 получателей и что останется
                            if (subscriberContext.Subscribers.Count() == 0)
                            {
                                return;
                            }

                            //string messageTo = String.Empty;
                            //string messageCC = String.Empty;
                            int count            = 1;
                            int countSubscribers = subscriberContext.Subscribers.Count();
                            foreach (var s in subscriberContext.Subscribers.Where(s => s.IsActive == true))
                            {
                                //отправляем письмо каждому по-отдельности

                                string unsubscr = siteUrl + "/home/unsubscribe/" + s.Id.ToString();
                                //Команда tianDe™ Баеровых Татьяны и Олега
                                Services.SendMessage(_params, "Команда tianDe™ Баеровых Татьяны и Олега – Рассылка новостей от " + DateTime.Now.ToShortDateString(),
                                                     message.ToString().Replace("/Content", siteUrl + "/Content").Replace("{1}", unsubscr), s.EMail);

                                //if (count == 1 || count % 21 == 0)
                                //{
                                //    messageTo = s.EMail;
                                //}
                                //else
                                //{
                                //    messageCC += s.EMail + (count == countSubscribers || count % 20 == 0 ? "" : ",");
                                //}
                                //if (count % 20 == 0)
                                //{
                                //    Services.SendMessage(_params, "Baeroff.com – Рассылка новостей от " + DateTime.Now.ToShortDateString(),
                                //        message.ToString().Replace("/Content", siteUrl + "/Content"), messageTo, messageCC);
                                //    messageTo = messageCC = "";
                                //}
                                count++;
                            }
                            //if (count % 20 != 0)
                            //{
                            //    Services.SendMessage(_params, "Baeroff.com – Рассылка новостей от " + DateTime.Now.ToShortDateString(),
                            //        message.ToString().Replace("/Content", siteUrl + "/Content"), messageTo, messageCC);
                            //    messageTo = messageCC = "";
                            //}

                            //сохраняем в отправленных
                            foreach (Article a in forMailing)
                            {
                                mailArticleContext.SaveMailArticle(new MailArticle {
                                    Id = Guid.NewGuid(), ArticleId = a.Id, DateMailing = DateTime.Now, CountRecipient = count - 1
                                });
                            }
                        }
        }
 public HomeController(EFConstantContext constantContext)
 {
     ConstantContext = constantContext;
 }
 public ArticlesController(EFConstantContext constantContext)
 {
     ConstantContext = constantContext;
 }