public override KombuchaSale Handle(KombuchaSale request)
        {
            if (request.SaleType == SaleType.InHouse)
            {
                _logger.LogInfo("Printing receipt for in-house order.", ConsoleColor.Green);
                return(base.Handle(request));
            }

            if (request.SaleType != SaleType.Online)
            {
                return(base.Handle(request));
            }

            _logger.LogInfo("Emailing receipt for online order.", ConsoleColor.Green);
            var emailReceipt = new EmailMessage("*****@*****.**", "Here's your receipt.");

            if (request.SpecialMessages != null && request.SpecialMessages.Any())
            {
                foreach (var message in request.SpecialMessages)
                {
                    emailReceipt.Content += $"| {message}";
                }
            }

            var emailTask = _emailer.SendMessage(emailReceipt);

            emailTask.Wait();
            return(base.Handle(request));
        }
Пример #2
0
        public async Task SendMealPlanToSubscriber(string subscriberEmail)
        {
            _logger.LogInfo($"--------------------------------------------------------------");
            var lunchMenu    = _factory.GenerateLunchesMenu();
            var dessertMenu  = _factory.GenerateDessertsMenu();
            var shoppingList = _factory.GenerateShoppingList();

            lunchMenu.PrintDescription();
            _logger.LogInfo($"== 🍜 Compiling Lunches Menu for Subscriber: {subscriberEmail} ==", ConsoleColor.Cyan);
            lunchMenu.PrintMenu();

            dessertMenu.PrintDescription();
            _logger.LogInfo($"== 🍜 Compiling Desserts Menu for Subscriber: {subscriberEmail} ==", ConsoleColor.Cyan);
            dessertMenu.PrintMenu();

            var ingredients = shoppingList.MakeShoppingList();

            var emailBody = string.Join(", ", ingredients);
            var message   = new EmailMessage(subscriberEmail, emailBody);

            _logger.LogInfo("== ✈️ Sending Subscriber Email ==", ConsoleColor.Cyan);

            await _emailer.SendMessage(message);

            _logger.LogInfo($"--------------------------------------------------------------", ConsoleColor.Cyan);
        }
Пример #3
0
        public void Execute()
        {
            var payload = $"Hi, {_name}! Welcome to the neighborhood compost group!";
            var email   = new EmailMessage(_emailAddress, payload);

            _logger.LogInfo($"Sending new customer {_name} a welcome email.", ConsoleColor.Blue);
            _emailer.SendMessage(email);
        }
 private void RefreshState()
 {
     if (PointBalance > Configuration.MinPremiumPointsBalance)
     {
         var email = new EmailMessage(Account.GetPatronEmail(), "Congrats! You're now a Premium Rewards Member.");
         _emailer.SendMessage(email).Wait();
         Account.RewardsTier = new PremiumTier(this, _emailer);
     }
 }
        public override async Task HandleTableReadyMessage()
        {
            await base.HandleTableReadyMessage();

            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine(":: Email - Preparing an email");
            Console.ResetColor();
            var email = new EmailMessage("*****@*****.**", "Your table is ready!");
            await _emailer.SendMessage(email);
        }
        public async Task ProcessCurrentInventoryReport()
        {
            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("Processing Inventory...");
            Thread.Sleep(1_000);
            Console.WriteLine("Sending Report to buyers...");
            Thread.Sleep(1_000);
            var email = new EmailMessage("*****@*****.**", "inventory report...");
            await _emailer.SendMessage(email);

            Thread.Sleep(500);
            Console.ResetColor();
        }
Пример #7
0
        public async Task SendDessertsPlanToSubscriber(string subscriberEmail)
        {
            Console.WriteLine($"--------------------------------------------------------------");
            var dessertMenu = _factory.GenerateDessertsMenu();

            dessertMenu.PrintDescription();
            Console.WriteLine($"== 🍜 Compiling Desserts Menu for Subscriber: {subscriberEmail} ==");
            dessertMenu.PrintMenu();
            var ingredients = dessertMenu.MakeShoppingList();
            var emailBody   = string.Join(", ", ingredients);
            var message     = new EmailMessage(subscriberEmail, emailBody);

            Console.WriteLine("== ✈️ Sending Subscriber Email ==");
            await _emailer.SendMessage(message);

            Console.WriteLine($"--------------------------------------------------------------");
        }
 public async Task EmailReceipt(Person customer)
 {
     var email = new EmailMessage(customer.Email, "Thank you for your Bakery order. Here is your receipt.");
     await _emailer.SendMessage(email);
 }