Example #1
0
        public void Match_by_name()
        {
            var document = GetDocument();
            var line1    = document.NewLine();

            line1.Product  = "АЛМАГЕЛЬ   А 170МЛ ФЛАК СУСП";
            line1.Code     = "10062";
            line1.Producer = "Балканфарма - Троян АД";

            var line2 = document.NewLine();

            line2.Product = "АВЕНТ СОСКА ПОТОК МЕДЛЕННЫЙ N2 (82820) [82820]";

            var order = new OrderHead {
                Address    = document.Address,
                ClientCode = 1
            };
            var orderItem1 = new OrderItem {
                Code            = "14934026",
                ProductSynonym  = new ProductSynonym("АЛМАГЕЛЬ А 170МЛ ФЛАК СУСП"),
                ProducerSynonym = new ProducerSynonym("Балканфарма - Троян АД")
            };
            var orderItem2 = new OrderItem {
                ProductSynonym = new ProductSynonym("АВЕНТ СОСКА ПОТОК МЕДЛЕННЫЙ N2 (82820) [82820]"),
            };

            order.Items.Add(orderItem1);
            order.Items.Add(orderItem2);

            WaybillOrderMatcher.ComparisonWithOrders(document, order.Items);
            Assert.That(line1.OrderItems, Is.EquivalentTo(new[] { orderItem1 }));
            Assert.That(line2.OrderItems, Is.EquivalentTo(new[] { orderItem2 }));
        }
Example #2
0
        public void ComparisonWithOrdersIfEmptyTest()
        {
            var log = new DocumentReceiveLog {
                Supplier     = appSupplier,
                ClientCode   = client.Id,
                Address      = address,
                MessageUid   = 123,
                DocumentSize = 100
            };
            var document = new Document(log);

            log.Save();
            document.Save();
            WaybillOrderMatcher.ComparisonWithOrders(document, null);
        }
Example #3
0
        public void Respect_order_id()
        {
            var document = GetDocument();
            var line1    = document.NewLine();

            line1.Product  = "АЛМАГЕЛЬ   А 170МЛ ФЛАК СУСП";
            line1.Producer = "Балканфарма - Троян АД";
            line1.OrderId  = 1;

            var line2 = document.NewLine();

            line2.Product  = "АЛМАГЕЛЬ   А 170МЛ ФЛАК СУСП";
            line2.Producer = "Балканфарма - Троян АД";
            line2.OrderId  = 2;

            var order1 = new OrderHead(document.Address, null)
            {
                Id = 1,
            };
            var orderItem1 = new OrderItem(order1)
            {
                Code            = "14934026",
                ProductSynonym  = new ProductSynonym("АЛМАГЕЛЬ А 170МЛ ФЛАК СУСП"),
                ProducerSynonym = new ProducerSynonym("Балканфарма - Троян АД")
            };

            order1.Items.Add(orderItem1);

            var order2 = new OrderHead(document.Address, null)
            {
                Id = 2,
            };
            var orderItem2 = new OrderItem(order2)
            {
                Code            = "14934026",
                ProductSynonym  = new ProductSynonym("АЛМАГЕЛЬ А 170МЛ ФЛАК СУСП"),
                ProducerSynonym = new ProducerSynonym("Балканфарма - Троян АД")
            };

            order2.Items.Add(orderItem2);
            WaybillOrderMatcher.ComparisonWithOrders(document, new[] { order1, order2 }.SelectMany(o => o.Items).ToList());
            Assert.That(line1.OrderItems, Is.EquivalentTo(new[] { orderItem1 }));
            Assert.That(line2.OrderItems, Is.EquivalentTo(new[] { orderItem2 }));
        }
Example #4
0
        public void Match_without_code()
        {
            var document = GetDocument();
            var line     = document.NewLine();

            line.Product  = "АЛМАГЕЛЬ   А 170МЛ ФЛАК СУСП";
            line.Producer = "Балканфарма - Троян АД";

            var order = new OrderHead {
                Address    = document.Address,
                ClientCode = 1
            };
            var orderItem = new OrderItem {
                Code            = "14934026",
                ProductSynonym  = new ProductSynonym("АЛМАГЕЛЬ А 170МЛ ФЛАК СУСП"),
                ProducerSynonym = new ProducerSynonym("Балканфарма - Троян АД")
            };

            order.Items.Add(orderItem);

            WaybillOrderMatcher.ComparisonWithOrders(document, order.Items);
            Assert.That(line.OrderItems, Is.EquivalentTo(new[] { orderItem }));
        }
Example #5
0
        private void Match(Document document)
        {
            var orderItems = orders.SelectMany(o => o.Items).ToList();

            WaybillOrderMatcher.ComparisonWithOrders(document, orderItems);
        }