public void Parse_settings() { var parser = new Inforoom.PriceProcessor.Models.Parser("PulsRyazanParser", appSupplier); parser.Add("CODE", "Code"); parser.Add("GOODE", "Product"); parser.Add("PRODUCER", "Producer"); parser.Add("COUNTRY", "Country"); parser.Add("PRICE", "SupplierCost"); parser.Add("QUANT", "Quantity"); parser.Add("PPRICEWT", "ProducerCostWithoutNDS"); parser.Add("DATEB", "Period"); parser.Add("SERT", "Certificates"); parser.Add("NDS", "Nds"); parser.Add("REESTR", "RegistryCost"); parser.Add("JVLS", "VitallyImportant"); parser.Add("SERIAL", "SerialNumber"); //parser.Add("I_SERT", "CertificateFilename"); В файлах Норман такого поля нет. session.Save(parser); var ids = new WaybillService().ParseWaybill(new[] { CreateTestLog("0020790.dbf").Id }); var doc = session.Load <Document>(ids[0]); Assert.That(doc.Lines.Count, Is.EqualTo(15)); var line = doc.Lines[0]; Assert.That(line.Code, Is.EqualTo("174")); Assert.That(line.Product, Is.EqualTo("Алмагель А сусп. д/пр.внутрь фл. 170 мл. (мерн. ложка) х1")); Assert.That(line.Producer, Is.EqualTo("Balkanpharma Troya AD")); Assert.That(line.Country, Is.EqualTo("Болгария")); Assert.That(line.Quantity, Is.EqualTo(3)); Assert.That(line.Nds, Is.EqualTo(10)); Assert.That(line.Period, Is.EqualTo("01.12.2011")); Assert.That(line.Certificates, Is.EqualTo("РОСС BG.ФМ09.Д02834")); Assert.That(line.SupplierCost, Is.EqualTo(89.06)); Assert.That(line.SupplierCostWithoutNDS, Is.EqualTo(80.96)); Assert.That(line.ProducerCostWithoutNDS, Is.EqualTo(87.66)); Assert.That(line.SerialNumber, Is.EqualTo("111209")); Assert.That(line.VitallyImportant, Is.False); Assert.That(doc.Lines[4].VitallyImportant, Is.True); Assert.That(line.RegistryCost, Is.EqualTo(0)); Assert.That(line.SupplierPriceMarkup, Is.EqualTo(-7.64)); }
public void Parse_Bahtin() { var parser = new Inforoom.PriceProcessor.Models.Parser("Bahtin_RM60945", appSupplier, EncodingEnum.CP866); parser.Add("DOCDAT", "Header_DocumentDate"); parser.Add("COD", "Code"); parser.Add("TOVAR", "Product"); session.Save(parser); var ids = new WaybillService().ParseWaybill(new[] { CreateTestLog("000099.DBF").Id }); var document = session.Load <Document>(ids[0]); Assert.That(document.DocumentDate, Is.EqualTo(Convert.ToDateTime("27.02.2017"))); var line = document.Lines[3]; Assert.That(line.Code, Is.EqualTo("00000070")); var product = line.Product; Assert.That(product, Is.EqualTo("масло зародышей (ростков) пшеницы 100мл АРС")); }
public void Document_parser() { var file = Guid.NewGuid() + ".dbf"; var productNameColumn = "test_name"; var quantityNameColumn = "test_qt"; var supplierCostColumn = "test_sc"; var supplierCostWithoutNDS = "test_scn"; var table = new DataTable(); table.Columns.Add(productNameColumn); table.Columns.Add(quantityNameColumn, typeof(int)); table.Columns.Add(supplierCostColumn, typeof(decimal)); table.Columns.Add(supplierCostWithoutNDS, typeof(decimal)); table.Rows.Add("0,2л\"Сады Придонья\"сок ябл-виноградный восст.осв.", 27, 19.12, 17.38); Dbf.Save(table, file); var parser = new Inforoom.PriceProcessor.Models.Parser("Тестовый парсер", appSupplier); parser.Add(productNameColumn, "Product"); parser.Add(quantityNameColumn, "Quantity"); parser.Add(supplierCostColumn, "SupplierCost"); parser.Add(supplierCostWithoutNDS, "SupplierCostWithoutNDS"); session.Save(parser); var ids = ParseFile(file); var doc = session.Load <Document>(ids[0]); Assert.AreEqual(1, doc.Lines.Count); var line = doc.Lines[0]; Assert.AreEqual("0,2л\"Сады Придонья\"сок ябл-виноградный восст.осв.", line.Product); Assert.AreEqual(27, line.Quantity); Assert.AreEqual(19.12, line.SupplierCost); Assert.AreEqual(17.38, line.SupplierCostWithoutNDS); }