public override async Task<RopDocument[]> FillDate() { var dd = new DownloadData(); var dataBytes = await dd.Data(rdBase.PathDocument); var str = Encoding.UTF8.GetString(dataBytes); var list = new List<RopData>(); var lines = str.Split(new[] {Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries); foreach (var line in lines) { var arr = line.Split(new[] {";"}, StringSplitOptions.None); if(string.IsNullOrWhiteSpace(arr[0])) continue; if (arr[0].Contains("Jude")) continue; var rd = new RopData(); rd.Judet = judetFinder.Find(arr[0]); rd.Valoare = int.Parse(arr[3]); list.Add(rd); } list = list.GroupBy(it => it.Judet).Select(group => new RopData() { Judet = group.Key, Valoare = group.Sum(it => it.Valoare) } ).ToList(); rdBase.Data = list.ToArray(); return new[] {rdBase}; }
private async Task<RopData> CreateFarmacie(Uri uri) { var rd = new RopData(); var numeFarmacie = uri.Segments.Last().Replace(".xls",""); switch (numeFarmacie) { case "bucuresti---sector-1": case "bucuresti---sector-2": case "bucuresti---sector-3": case "bucuresti---sector-4": case "bucuresti---sector-5": case "bucuresti---sector-6": rd.Judet = judetFinder.Find("Bucuresti"); break; case "farmacii-circuit-inchis324112670-1": //TODO: take this into consideration return null; default: rd.Judet = judetFinder.Find(numeFarmacie); break; } var dd = new DownloadData(); var dataBytes = await dd.Data(uri); var path = Path.Combine(Path.GetTempPath(), Path.GetTempFileName() + ".xls"); File.WriteAllBytes(path, dataBytes); var nr =await ExcelHelpers.NrRows(path); rd.Valoare = nr; return rd; }
public override async Task<RopDocument[]> FillDate() { var data= new List<RopData>(); var dd = new DownloadData(); var dataBytes = await dd.Data(rdBase.PathDocument); var path = Path.Combine(Path.GetTempPath(), Path.GetTempFileName() + ".csv"); var csv = Encoding.UTF8.GetString(dataBytes); //var path = "D:\\a.xls"; var lines = csv.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); foreach (var line in lines) { if (string.IsNullOrWhiteSpace(line)) continue; var arr = line.Split(new string[] {","}, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < arr.Length; i++) { arr[i] = arr[i].Replace("\"", ""); } if (arr[0].Trim().ToUpper() == "JUDET") //header continue; var numeJudet = arr[0].Trim().ToLower(); var judet = judetFinder.Find(numeJudet); int valoare; try { valoare = int.Parse(arr[arr.Length-1]); } catch (Exception ex) { throw new ArgumentException("judet:" + numeJudet + "=> valoare"+ arr[arr.Length - 1],ex); } var rd = new RopData(); rd.Judet = judet; rd.Valoare = valoare; rd.Oras = null; data.Add(rd); } rdBase.Data = data .GroupBy(it => it.Judet).Select(group => new RopData() { Judet = group.Key, Valoare = group.Sum(it => it.Valoare) } ).ToArray(); return new[] { rdBase }; }
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 dd = new DownloadData(); var dataBytes = await dd.Data(rdBase.PathDocument); string data = Encoding.UTF8.GetString(dataBytes); var list = new List<RopData>(); var lines = data.Split((char) (10)); var restFromPreviousLine = ""; for (int lineIter = 0; lineIter < lines.Length; lineIter++) { var line = lines[lineIter]; if (string.IsNullOrWhiteSpace(line)) continue; var arr = (restFromPreviousLine + line).Split(new[] {";"}, StringSplitOptions.None); if (arr.Length < 10) { restFromPreviousLine += line; continue; } restFromPreviousLine = ""; if(arr[0].StartsWith("Jude")) continue; if (string.IsNullOrWhiteSpace(arr[0])) continue; var numeJudet = arr[0].Trim().ToLower(); if(numeJudet.ToLower()== "dgeip") continue; var judet = judetFinder.Find(numeJudet); var val = int.Parse(arr[6].Replace(".", "")); var rd = new RopData(); rd.Judet = judet; rd.Valoare = val; list.Add(rd); } list = list.GroupBy(it => it.Judet).Select(group => new RopData() { Judet = group.Key, Valoare = group.Sum(it => it.Valoare) } ).ToList(); rdBase.Data = list.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 }; }
public override async Task<RopDocument[]> FillDate() { //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 list = new List<RopData>(); var str = @"Bacău 55 Bacău 40 Botoșani 72 Botoșani 24 Botoșani 7 Brașov 45 Călărași 29 Constanța 72 Constanța 96 Giurgiu 20 Gorj 16 Gorj 64 Gorj 40 Harghita 48 Harghita 18 Hunedoara 60 Hunedoara 30 Hunedoara 147 Ialomița 40 Ilfov 40 Maramureş 48 Mureș 36 Olt 60 Olt 38 Olt 40 Olt 32 Prahova 18 Prahova 30 Satu Mare 40 Timiş 15 Timiş 48 Vâlcea 40 Vrancea 8 Vrancea 60 Vrancea 61 Vrancea 16 "; foreach (var s in str.Split(new[] {Environment.NewLine},StringSplitOptions.RemoveEmptyEntries)) { var arr = s.Split(new[] {" "},StringSplitOptions.RemoveEmptyEntries); var nr =int.Parse(arr[arr.Length - 1]); string numeJudet = ""; switch (arr.Length) { case 2: numeJudet = arr[0]; break; case 3: numeJudet = arr[0] + " " + arr[1]; break; default: throw new ArgumentException("not found judet " + s); } var judet = judetFinder.Find(numeJudet); var ropData=new RopData(); ropData.Judet = judet; ropData.Valoare = nr; list.Add(ropData); } list = list.GroupBy(it => it.Judet).Select(group => new RopData() { Judet = group.Key, Valoare = group.Sum(it => it.Valoare) } ).ToList(); rdBase.Data = list.ToArray(); return new[] { rdBase }; }
public override async Task<RopDocument[]> FillDate() { var dd = new DownloadData(); var dataBytes = await dd.Data(rdBase.PathDocument); string data = Encoding.UTF8.GetString(dataBytes); var list = new List<RopData>(); var lines = data.Split((char)(10)); var restFromPreviousLine = ""; for(int lineIter=0;lineIter<lines.Length; lineIter++) { if(lineIter==0)//header continue; var line = lines[lineIter]; if (string.IsNullOrWhiteSpace(line)) continue; var arr = (restFromPreviousLine+line).Split(new [] { "," }, StringSplitOptions.None); if (arr.Length < 16) { restFromPreviousLine += line; continue; } restFromPreviousLine = ""; for (int i = 0; i < arr.Length; i++) { arr[i] = arr[i].Replace("\"", ""); } Judet judet = null; for (int i = 16; i < arr.Length; i++) { var numeJudet = arr[i].ToString().Trim().ToLower(); try { judet = judetFinder.Find(numeJudet); } catch (ArgumentException) { //do not log } if (judet != null) break; } if(judet == null) { throw new ArgumentException("not found judet:" + string.Join(",", arr)); } var rd = new RopData(); rd.Judet = judet; rd.Valoare = 1; list.Add(rd); } list = list.GroupBy(it => it.Judet).Select(group => new RopData() { Judet = group.Key, Valoare = group.Sum(it => it.Valoare) } ).ToList(); rdBase.Data = list.ToArray(); return new[] { rdBase }; }
public override async Task<RopDocument[]> FillDate() { var dataCasatoriti = 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.BuildExcel2007ConnectionString(path, true); m.Open(); var query = @"Select * From [Anul2015$]"; 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(); var judet = judetFinder.Find(numeJudet); Func<object, int> retVal = (obj) => { int i; if (obj == null) return 0; if (int.TryParse(obj.ToString(), out i)) return i; return 0; }; int valoare = retVal(arr[15]); var rd = new RopData(); rd.Judet = judet; rd.Valoare = valoare; rd.Oras = null; dataCasatoriti.Add(rd); } rdBase.Data = dataCasatoriti .GroupBy(it => it.Judet).Select(group => new RopData() { Judet = group.Key, Valoare = group.Sum(it => it.Valoare) } ).ToArray(); return new[] {rdBase}; }