/// <summary> /// Parses a line following the ResultFormat and returns an ResultFormat object /// </summary> /// <param name="line">The line to parse</param> /// <param name="parser">The field parser to use</param> /// <returns>An ResultFormat object containing the parsed values</returns> public ResultFormat Parse(string line, FieldParser parser) { string[] fields = parser.ParseLength(line, 18); int fylkenummer = parser.ParseInt(fields[0], "Fylkenummer"); string fylkenavn = parser.ParseString(fields[1], "Fylkenavn", 3, -1); string partikode = parser.ParseString(fields[6], "Partikode", 1, 10); string partinavn = parser.ParseString(fields[7], "Partinavn", 1, -1); double oppslutningProsentvis = parser.ParseDouble(fields[8], "Oppslutning prosentvis"); int antallStemmeberettigde = parser.ParseInt(fields[9], "Antall stemmeberettigde"); int antallForhåndsstemmer = parser.ParseInt(fields[10], "Antall forhåndsstemmer"); int antallValgtingstemmer = parser.ParseInt(fields[11], "Antall valgtingstemmer"); int antallStemmerTotalt = parser.ParseInt(fields[12], "AntallStemmerTotalt"); double endringProsentSisteTilsvarendeValg = parser.ParseDouble(fields[13], "Endring prosent siste tilsvarende valg"); double endringProsentSisteEkvivalenteValg = parser.ParseDouble(fields[14], "Endring prosent siste ekvivalente valg"); int antallMandater = parser.ParseInt(fields[15], "Antall mandater"); int antallUtjevningsmandater = parser.ParseInt(fields[16], "Antall utjevningsmandater"); return(new ResultFormat() { Fylkenummer = fylkenummer, Fylkenavn = fylkenavn, Partikode = partikode, Partinavn = partinavn, OppslutningProsentvis = oppslutningProsentvis, AntallStemmeberettigede = antallStemmeberettigde, AntallForhåndsstemmer = antallForhåndsstemmer, AntallValgtingstemmer = antallValgtingstemmer, AntallStemmerTotalt = antallStemmerTotalt, EndringProsentSisteTilsvarendeValg = endringProsentSisteTilsvarendeValg, EndringProsentSisteEkvivalenteValg = endringProsentSisteEkvivalenteValg, AntallMandater = antallMandater, AntallUtjevningsmandater = antallUtjevningsmandater }); }
/// <summary> /// Parses a line following the ElectionTypeFormat and returns an ElectionTypeFormat object /// </summary> /// <param name="line">The line to parse</param> /// <param name="parser">The field parser to use</param> /// <returns>An ElectionTypeFormat object containing the parsed values</returns> public ElectionTypeFormat Parse(string line, FieldParser parser) { string[] fields = parser.ParseLength(line, 2); string electionTypeCode = parser.ParseString(fields[0], "Election type code", 2, 5); string internationalName = parser.ParseString(fields[1], "International name", 3, 30); return(new ElectionTypeFormat() { ElectionTypeCode = electionTypeCode, InternationalName = internationalName }); }
/// <summary> /// Parses a line following the CountryFormat and returns an CountryFormat object /// </summary> /// <param name="line">The line to parse</param> /// <param name="parser">The field parser to use</param> /// <returns>An CountryFormat object containing the parsed values</returns> public CountryFormat Parse(string line, FieldParser parser) { string[] fields = parser.ParseLength(line, 2); string countryCode = parser.ParseString(fields[0], "Country code", 2, 5); string internationalName = parser.ParseString(fields[1], "International name", 3, 30); return(new CountryFormat() { CountryCode = countryCode, InternationalName = internationalName }); }
public static List <T> CsvToList <T>(string filePath) where T : ICsvFormat <T>, new() { List <T> objects = new List <T>(); StreamReader file = new StreamReader(filePath); FieldParser parser = new FieldParser(filePath, ";"); string actualHeaderString = file.ReadLine(); // Skip string currentLine; while ((currentLine = file.ReadLine()) != null) { objects.Add((new T()).Parse(currentLine, parser)); } return(objects); }
/// <summary> /// Parses a line following the CountyDataFormat and returns an CountyDataFormat object /// </summary> /// <param name="line">The line to parse</param> /// <param name="parser">The field parser to use</param> /// <returns>An CountyDataFormat object containing the parsed values</returns> public CountyDataFormat Parse(string line, FieldParser parser) { string[] fields = parser.ParseLength(line, 5); int year = parser.ParseInt(fields[0], "Year"); string county = parser.ParseString(fields[1], "County", 3, 20); double areal = parser.ParseDouble(fields[2], "Areal"); int population = parser.ParseInt(fields[3], "Population"); int seats = parser.ParseInt(fields[4], "Seats"); return(new CountyDataFormat() { Year = year, County = county, Areal = areal, Population = population, Seats = seats }); }
/// <summary> /// Parses a line following the ElectionFormat and returns an ElectionFormat object /// </summary> /// <param name="line">The line to parse</param> /// <param name="parser">The field parser to use</param> /// <returns>An ElectionFormat object containing the parsed values</returns> public ElectionFormat Parse(string line, FieldParser parser) { string[] fields = parser.ParseLength(line, 6); int year = parser.ParseInt(fields[0], "Year"); Algorithm algorithm = parser.ParseAlgorithm(fields[1], "Algorithm"); double firstDivisor = parser.ParseDouble(fields[2], "FirstDivisor"); double threshold = parser.ParseDouble(fields[3], "Threshold"); int seats = parser.ParseInt(fields[4], "Seats"); int levelingSeats = parser.ParseInt(fields[5], "LevelingSeats"); return(new ElectionFormat() { Year = year, Algorithm = algorithm, FirstDivisor = firstDivisor, Threshold = threshold, Seats = seats, LevelingSeats = levelingSeats }); }