public void Process() { IEnumerable <QtyCSVItemModel> qtyBasedRecords = CSVFileParser.Parse <QtyCSVItemModel, QtyCSVItemModelMapping>(this.csvFilePath); //Convert qty-based records to code-based records, utilising beginCode and codePrefixStr List <CodesCSVItemModel> codeBasedRecords = new List <CodesCSVItemModel>(); int currentCode = this.beginCode; int qty; foreach (var record in qtyBasedRecords) { if (!int.TryParse(record.Qty, out qty)) { throw new FormatException(string.Format("Quantity {0} (for price {1}) is not an integer!", record.Qty, record.Price)); } for (int i = 0; i < qty; i++) { codeBasedRecords.Add(new CodesCSVItemModel { Code = this.codePrefixStr + currentCode.ToString(), Price = record.Price }); currentCode++; } } csvRecords = codeBasedRecords; }
private void CheckAndCreateParsers() { if (EasyKillEnemiesParser != null) { return; } EasyKillEnemiesParser = new CSVFileParser(); EasyKillEnemiesParser.Parse("Assets/Text/KILLObjective.txt", "EASY"); }
public void Process() { csvRecords = CSVFileParser.Parse <CodesCSVItemModel, CodesCSVItemModelMapping>(this.csvFilePath).ToList(); }