Example #1
0
        public ActionResult BagelsHere(string location)
        {
            var bagellerService = new BagellerService();

            var model = new SendBagelsAreHereEmailModel()
            {
                Location = location,
                Bagellers = bagellerService.FetchAll()
            };
            new MailController().SendBagelsAreHereEmail(model).DeliverAsync();

            return View(model);
        }
Example #2
0
        public ActionResult SendDayBeforeReminderEmail()
        {
            var bagellerService = new BagellerService();
            var bagellers = bagellerService.FetchAll();
            var nextBageller = bagellers.First();
            //only send the email if the next purchase date is this week
            if (nextBageller.NextPurchaseDate < DateTime.Today.AddDays(7))
            {
                var model = new DayBeforeReminderEmailModel
                                {
                                    Bageller = nextBageller,
                                    ShoppingList = new ShoppingListModel(BagelShopService.BuildFullShoppingList(bagellers))
                                };
                new MailController().SendDayBeforeReminderEmail(model).DeliverAsync();
            }

            return null;
        }
Example #3
0
        public ActionResult SendWeekStartReminderEmail()
        {
            var bagellerService = new BagellerService();
            var bagellers = bagellerService.FetchAll();
            var nextBageller = bagellers.First();
            //set the next purchase dates for bagellers who have already made their purchase
            while (nextBageller.NextPurchaseDate.IsBefore(DateTime.Now))
            {
                bagellerService.SetNextPurchaseDate(nextBageller);
                bagellerService.Save(nextBageller);

                bagellers = bagellerService.FetchAll().OrderBy(x => x.NextPurchaseDate);
                nextBageller = bagellers.First();
            }
            new MailController().SendWeekStartReminderEmail(bagellers).DeliverAsync();

            return null;
        }