public IList <string> GetAllNames() { var names = new List <string>(); using (var reader = new FarmaimpeksReader(_fileName)) { foreach (var parsedPrice in reader.Prices()) { var priceInfo = _data.Rows[0]; var supplierId = Convert.ToUInt32(priceInfo["FirmCode"]); PriceCost cost; using (new SessionScope(FlushAction.Never)) { cost = PriceCost.Queryable.FirstOrDefault( c => c.Price.Supplier.Id == supplierId && c.CostName == parsedPrice.Id); } if (cost == null) { _log.WarnFormat( "Не смог найти прайс лист у поставщика {0} с именем '{1}', пропуская этот прайс", Info.FirmShortName, parsedPrice.Id); continue; } var info = new PriceFormalizationInfo(priceInfo, cost.Price); var parser = new BasePriceParser(reader, info); parser.Downloaded = Downloaded; names.AddRange(reader.Read() .Where(x => !String.IsNullOrWhiteSpace(x.PositionName)).Select(x => x.PositionName)); } } return(names); }
protected void FormalizePrice(IReader reader) { var parser = new BasePriceParser(reader, Info); parser.Downloaded = Downloaded; parser.Formalize(); Stat = parser.Stat; }
public void Formalize() { using (var reader = new FarmaimpeksOKPReader(_fileName)) { Info.IsUpdating = true; var parser = new BasePriceParser(reader, Info, true); parser.Downloaded = Downloaded; parser.Formalize(); Stat = parser.Stat; } }