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};

        }
Example #2
0
        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;
        }
Example #3
0
        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 };



        }
Example #4
0
        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 };




        }
Example #9
0
        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};
        }