public override Zone GenerateZone() { if (!File.Exists(this.Filename)) { return(null); } CsvParser parser = CsvParser.Create(this.Filename); var machines = parser.Rows.Select(row => new { MachineFunction = row["MachineFunction"], StaticIP = row["StaticIP"], MachineName = row["MachineName"] }).ToArray(); var zoneRecords = machines .GroupBy(machine => machine.MachineFunction + _zoneSuffix, machine => IPAddress.Parse(machine.StaticIP)) .Select(group => new ZoneRecord { Host = group.Key, Count = group.Count(), Addresses = group.Select(address => address).ToArray() }) .ToArray(); Zone zone = new Zone(); zone.Suffix = _zoneSuffix; zone.Serial = _serial; zone.Initialize(zoneRecords); // increment serial number _serial++; return(zone); }
private Parser <VscRow> CreateParser(List <string> languages) { var mapping = new VscRow.Mapping(languages); return(CsvParser.Create <VscRow, VscRow.Mapping>(mapping)); }
private Parser <VseRow> CreateParser() { var mapping = new VseRow.Mapping(); return(CsvParser.Create <VseRow, VseRow.Mapping>(mapping)); }