public override async Task <RopDocument[]> FillDate() { List <RopData> data = new List <RopData>(); var dd = new DownloadData(); var dataBytes = await dd.Data(rdBase.PathDocument); var path = Path.Combine(Path.GetTempPath(), Path.GetTempFileName() + ".xls"); File.WriteAllBytes(path, dataBytes); //var path = "D:\\a.xls"; var dt = new DataTable(); using (var m = new OleDbConnection()) { m.ConnectionString = ExcelHelpers.BuildExcelConnectionString(path, true); m.Open(); var query = @"Select * From [Sheet1$]"; using (var cmd = new OleDbCommand(query, m)) { using (var dr = cmd.ExecuteReaderAsync().Result) { dt.Load(dr); } } } foreach (DataRow row in dt.Rows) { int nr; var arr = row.ItemArray; //if (arr[0] == null || string.IsNullOrWhiteSpace(arr[0].ToString())) if (string.IsNullOrWhiteSpace(arr[0]?.ToString())) { continue; } if (!int.TryParse(arr[0].ToString(), out nr)) { continue; } var numeJudet = arr[1].ToString().Trim().ToLower(); var judet = judetFinder.Find(numeJudet); var rd = new RopData(); rd.Judet = judet; rd.Valoare = int.Parse(arr[2].ToString()); rd.Oras = null; data.Add(rd); } rdBase.Data = data.ToArray(); return(new [] { rdBase }); }
public override async Task <RopDocument[]> FillDate() { var dataAlegatori = new List <RopData>(); var dataAlegatoriPrezenti = new List <RopData>(); var dd = new DownloadData(); var dataBytes = await dd.Data(rdBase.PathDocument); var path = Path.Combine(Path.GetTempPath(), Path.GetTempFileName() + ".xls"); File.WriteAllBytes(path, dataBytes); //var path = "D:\\a.xls"; var dt = new DataTable(); using (var m = new OleDbConnection()) { m.ConnectionString = ExcelHelpers.BuildExcelConnectionString(path, true); m.Open(); var query = @"Select * From [SIAEP2014_STAT_Statistica pe lo$]"; using (var cmd = new OleDbCommand(query, m)) { using (var dr = cmd.ExecuteReaderAsync().Result) { dt.Load(dr); } } } foreach (DataRow row in dt.Rows) { var arr = row.ItemArray; //if (arr[0] == null || string.IsNullOrWhiteSpace(arr[0].ToString())) if (string.IsNullOrWhiteSpace(arr[0]?.ToString())) { continue; } var numeJudet = arr[1].ToString().Trim().ToLower(); if (numeJudet == "străinătate") { continue; } var judet = judetFinder.Find(numeJudet); var valoare = int.Parse(arr[3].ToString()); var rd = new RopData(); rd.Judet = judet; rd.Valoare = valoare; rd.Oras = null; dataAlegatori.Add(rd); rd = new RopData(); rd.Judet = judet; rd.Valoare = int.Parse(arr[6].ToString()); rd.Oras = null; dataAlegatoriPrezenti.Add(rd); } var newRD = new RopDocument(rdBase); newRD.Name += "Nr Alegatori Liste"; newRD.ID = "BA671A2B-27E8-408D-BABD-59B52661789D"; newRD.Data = dataAlegatori .GroupBy(it => it.Judet).Select(group => new RopData() { Judet = group.Key, Valoare = group.Sum(it => it.Valoare) } ).ToArray(); var newRDUrne = new RopDocument(rdBase); newRDUrne.Name += "Nr Alegatori Prezentati La Urne"; newRDUrne.ID = "BBB0ECA2-34BE-4177-B3A2-82BC6B41311E"; newRDUrne.Data = dataAlegatoriPrezenti .GroupBy(it => it.Judet).Select(group => new RopData() { Judet = group.Key, Valoare = group.Sum(it => it.Valoare) } ).ToArray(); return(new[] { newRD, newRDUrne }); }