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 })); }
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); }
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 })); }
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 })); }
private void Match(Document document) { var orderItems = orders.SelectMany(o => o.Items).ToList(); WaybillOrderMatcher.ComparisonWithOrders(document, orderItems); }