public EmailData GenerateCustomerOrderConfirmation(Order order)
        {
            string htmlBody = "<p>Vážený zákazníku,</p>" +
                              "<p>děkujeme za Váš nákup na <a href=\"http://3whisky.cz\">3whisky.cz</a>. Tímto emailem potvrzujeme, že jsme v pořádku přijali Vaši objednávku a zasíláme upřesňující informace.</p>" +
                              "<p>" +
                              "<b>Číslo objednávky:</b> " + order.UniqueNumber +
                              "<br /><b>Přijato:</b> " + order.Created.ToShortDateString() +
                              "<br /><b>Způsob platby:</b> " + order.PaymentMethod +
                              "<br /><b>Způsob dopravy:</b> " + order.ShipmentMethod +
                              "<br /><b>Celková cena:</b> " + order.TotalPrice.AsPrice() +
                              "<br /><b>Adresa pro doručení:</b> " + order.DeliveryAddress +
                              "<br /><b>Předpokládané datum předání dopravci:</b> " + _shipmentDateCalculator.CalculateShipmentDate(order.Created).ToShortDateString() +
                              "</p>" +
                              "<p>Ještě jednou děkujeme za objednávku na <a href=\"http://3whisky.cz\">3whisky.cz</a> a přejeme příjemný den.</p>" +
                              "<br />" +
                              "<p>S přátelským pozdravem,</p>" +
                              "<p>tým 3whisky</p>";

            var emailData = new EmailData()
            {
                SenderAddress = "*****@*****.**",
                Subject = "Potvrzeni objednavy na eshopu 3whisky",
                HtmlBody = htmlBody,
            };
            emailData.RecipientAddresses.Add(order.Email);

            return emailData;
        }
示例#2
0
        public Order ProcessOrder(OrderData orderData)
        {
            decimal totalPrice = _totalPriceCalculator.CalculateTotalPrice(orderData.Product.Price, orderData.ShipmentMethod, orderData.PaymentMethod);

            DateTime now = DateTime.Now;
            string orderNumber = "" + now.Year + now.Month + now.Day + now.Hour + now.Minute + now.Second + now.Millisecond;

            var order = new Order()
            {
                UniqueNumber = orderNumber,
                Name = orderData.Name,
                Email = orderData.Email,
                DeliveryAddress = orderData.DeliveryAddress,
                ShipmentMethod = orderData.ShipmentMethod,
                PaymentMethod = orderData.PaymentMethod,
                Note = orderData.Note,
                TotalPrice = totalPrice,
                Product = orderData.Product,
                Created = DateTime.Now,
            };

            _unitOfWork.CreateOrder(order);

            SendEmailToCustomer(order);
            SendEmailToAdmin(order);

            return order;
        }
        public EmailData GenerateAdminOrderNotification(Order order)
        {
            string htmlBody = @"<h1>Nova objednavka cislo " + order.UniqueNumber + "</h1>"
                              + "Zakaznik: " + order.Name + ", " + order.Email + "<br />"
                              + "Produkt: " + order.Product.Name + " za " + order.TotalPrice + "<br />"
                              + "Detaily: " + order.ShipmentMethod + ", " + order.PaymentMethod + ", " + order.DeliveryAddress + ", " + order.Note;

            var emailData = new EmailData()
            {
                SenderAddress = "*****@*****.**",
                RecipientAddresses = new List<string>
                {
                    "*****@*****.**",
                    "*****@*****.**",
                    "*****@*****.**",
                },
                Subject = "Nova objednavka!!!!!!",
                HtmlBody = htmlBody,
            };

            return emailData;
        }
示例#4
0
 public void CreateOrder(Order order)
 {
     _context.Products.Attach(order.Product);
     _context.Orders.Add(order);
     _context.SaveChanges();
 }
示例#5
0
        private void SendEmailToCustomer(Order order)
        {
            var email = _emailGenerator.GenerateCustomerOrderConfirmation(order);

            _emailSender.SendEmail(email);
        }
示例#6
0
        private void SendEmailToAdmin(Order order)
        {
            var email = _emailGenerator.GenerateAdminOrderNotification(order);

            _emailSender.SendEmail(email);
        }