Beispiel #1
0
        static void Main(string[] args)
        {
            Customer customer = new Customer(
                "Петр",
                "Петров",
                null,
                Sex.Male,
                "+7 999 999 99 99",
                "*****@*****.**",
                "12345678");
            Author        GregorHopp = new Author("Грегор", "ХопBo");
            Author        BobbiWolf  = new Author("Бобби", "Вульф");
            ISet <Author> authors    = new HashSet <Author>()
            {
                GregorHopp, BobbiWolf
            };

            PublishingHouse williamsPublishing = new PublishingHouse("Вильямс");

            ProductCategory bookProductCategory       = new ProductCategory("Книги", null);
            ProductCategory nonFictionProductCategory =
                new ProductCategory("Нехудожественная литература", bookProductCategory);
            ProductCategory computerTechnologiesProductCategory =
                new ProductCategory("Компьютерные технологии", nonFictionProductCategory);

            Book book = new Book(
                "Шаблоны интеграции корпоративных приложений", authors,
                williamsPublishing, Language.Russian, BookType.Paper,
                BookCoverType.HardBack, 672,
                @"В данной книге исследуются стратегии интеграции корпоративных приложений с помощью 
механизмов обмена сообщениями. Авторы рассматривают шаблоны проектирования и приводят практические 
примеры интеграции приложений, демонстрирующие преимущества обмена сообщениями и эффективность решений, 
создаваемых на основе этой технологии. Каждый шаблон сопровождается описанием некоторой задачи 
проектирования, обсуждением исходных условий и представлением элегантного, сбалансированного решения. 
Авторы подчеркивают как преимущества, так и недостатки обмена сообщениями, 
а также дают практические советы по написанию кода подключения приложения к системе обмена сообщениями, 
маршрутизации сообщений и мониторинга состояния системы.Книга ориентирована на разработчиков программного 
обеспечения и системных интеграторов, использующих различные технологии и продукты для обмена сообщениями, 
такие как Java Message Service (JMS), Microsoft Message Queuing (MSMQ), IBM WebSphere MQ, 
Microsoft BizTalk, TIBCO, WebMethods, SeeBeyond, Vitria и др.", "978-5-907144-45-3",
                2019, new decimal(2829), DateTime.Now,
                computerTechnologiesProductCategory, true);
            Cart cart = new Cart(customer);

            cart.Add(book);
            cart.Add(book);
            var      deliveryPoint = new DeliveryPoint("г. Рязань, ул. Новоселов, д. 49");
            var      deliveryCost  = DeliveryService.CalculateDeliveryCost(customer, cart.Products, deliveryPoint);
            Delivery delivery      = new Delivery(
                deliveryPoint,
                deliveryCost,
                new DateTime(2019, 11, 26),
                DeliveryType.PointOfIssue);
            Order order = new Order(cart, PaymentType.Cash, delivery);

            customer.UpdatePersonalData("Иван", "Иванов", Sex.Male, null);
            Payment payment = new Payment(order);

            //Через некоторое время после успешного взаимодействия со сторонними сервисами по оплате
            order.OrderStage = OrderStage.SuccessfullyMade;
            order.OrderStage = OrderStage.Packaging;
            order.OrderStage = OrderStage.DeliveredToDeliveryPoint;
            order.OrderStage = OrderStage.ReadyForDelivery;
            order.OrderStage = OrderStage.Issued;
        }