public static void DataProcessor(byte[] bytes) { var resultString = Encoding.Default.GetString(bytes); using (var stream = new MemoryStream()) using (var writer = new StreamWriter(stream)) using (var reader = new StreamReader(stream)) using (var csv = new CsvReader(reader)) { writer.Write(resultString); writer.Flush(); stream.Position = 0; csv.Configuration.Delimiter = ";"; List <csvStop> csvStops = csv.GetRecords <csvStop>().ToList(); List <tir.web.Models.Station> stations = new List <tir.web.Models.Station>(); for (int i = 0; i < csvStops.Count(); i++) { csvStops[i].desc = StopType(csvStops[i].desc); if (csvStops[i].desc != "Unknown") { stations.Add(new tir.web.Models.Station() { Name = csvStops[i].name, Type = csvStops[i].desc, Longitude = csvStops[i].longitude.Replace(",", "."), Latitude = csvStops[i].latitude.Replace(",", ".") }); } } stations = stations. GroupBy(o => new { o.Name, o.Type }) .Select(o => o.FirstOrDefault()) .ToList(); //saving _dataTables = new dsTirCache(); var taStation = new StationsTableAdapter(); var tblStations = _dataTables.Stations; foreach (var station in stations) { var newRow = tblStations.NewStationsRow(); newRow.Name = station.Name; newRow.Type = station.Type; newRow.Longitude = station.Longitude; newRow.Latitude = station.Latitude; tblStations.AddStationsRow(newRow); } taStation.Update(tblStations); } }
public static string GetLocations() { _dataTables = new dsTirCache(); var taStations = new StationsTableAdapter(); var tblStations = _dataTables.Stations; taStations.Fill(tblStations); List <StationsRow> Stations = new List <StationsRow>(); foreach (var row in tblStations) { Stations.Add(row); } return("yolo"); }