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 });
        }
Ejemplo n.º 2
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 });
        }
Ejemplo n.º 3
0
        private void verify(RopBind rop)
        {
            int alt = rop.tagging();

            try {
                // initialize
                RopSession ses = rop.create_session(RopBind.KEYSTORE_GPG, RopBind.KEYSTORE_GPG);

                // we do not load any keys here since we'll use key provider
                ses.set_key_provider(this, null);

                String    err_desc = null;
                RopOutput output   = null;
                try {
                    // create file input and memory output objects for the signed message
                    // and verified message
                    err_desc = "Failed to open file 'signed.asc'. Did you run the sign example?";
                    RopInput input = rop.create_input("signed.asc");

                    err_desc = "Failed to create output object";
                    output   = rop.create_output(0);

                    err_desc = "Failed to create verification context";
                    RopOpVerify verify = ses.op_verify_create(input, output);

                    err_desc = "Failed to execute verification operation";
                    verify.execute();

                    // now check signatures and get some info about them
                    err_desc = "Failed to get signature count";
                    int sigcount = verify.signature_count();

                    for (int idx = 0; idx < sigcount; idx++)
                    {
                        rop.tagging();

                        err_desc = String.Format("Failed to get signature {0}", idx);
                        RopVeriSignature sig = verify.get_signature_at(idx);

                        err_desc = String.Format("failed to get signature's {0} key", idx);
                        RopKey key = sig.get_key();

                        err_desc = String.Format("failed to get key id {0}", idx);

                        Console.WriteLine(String.Format("Status for signature from key {0} : {1}", key.keyid(), sig.status()));
                        rop.drop();
                    }
                } catch (RopError ex) {
                    Console.WriteLine(err_desc);
                    throw ex;
                }

                // get the verified message from the output structure
                RopData buf = output.memory_get_buf(false);
                Console.WriteLine(String.Format("Verified message: {0}", buf.getString()));
            } finally {
                rop.drop_from(alt);
            }
        }
Ejemplo n.º 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 });
        }
Ejemplo n.º 5
0
        // this example function generates RSA/RSA and Eddsa/X25519 keypairs
        private void generate_keys(RopBind rop)
        {
            int alt = rop.tagging();

            try {
                // initialize
                RopSession ses = rop.create_session(RopBind.KEYSTORE_GPG, RopBind.KEYSTORE_GPG);

                try {
                    // set password provider
                    ses.set_pass_provider(this, null);
                    // generate EDDSA/X25519 keypair
                    RopData key_grips = ses.generate_key_json(new RopData(CURVE_25519_KEY_DESC));
                    // generate RSA keypair
                    key_grips = ses.generate_key_json(new RopData(RSA_KEY_DESC));
                    Console.WriteLine(String.Format("Generated RSA key/subkey:\n%s\n", key_grips));
                } catch (RopError ex) {
                    Console.WriteLine("Failed to generate keys");
                    throw ex;
                }

                RopOutput keyfile = null;
                try {
                    // create file output object and save public keyring with generated keys, overwriting
                    // previous file if any. You may use max_alloc here as well.
                    keyfile = rop.create_output("pubring.pgp");
                    ses.save_keys_public(RopBind.KEYSTORE_GPG, keyfile);
                } catch (RopError ex) {
                    Console.WriteLine("Failed to save pubring");
                    throw ex;
                } finally {
                    rop.drop(keyfile);
                }

                keyfile = null;
                try {
                    // create file output object and save secret keyring with generated keys
                    keyfile = rop.create_output("secring.pgp");
                    ses.save_keys_secret(RopBind.KEYSTORE_GPG, keyfile);
                } catch (RopError ex) {
                    Console.WriteLine("Failed to save secring");
                    throw ex;
                } finally {
                    rop.drop(keyfile);
                }
            } finally {
                rop.drop(alt);
            }
        }
Ejemplo n.º 6
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);
        }
Ejemplo n.º 7
0
        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 });
        }
Ejemplo n.º 8
0
        /**
         * This simple helper function just prints armored key, searched by userid, to stdout.
         */
        private void print_key(RopBind rop, RopSession ses, string uid, bool secret)
        {
            // you may search for the key via userid, keyid, fingerprint, grip
            RopKey key = ses.locate_key("userid", uid);
            // create in-memory output structure to later use buffer
            RopOutput keydata = rop.create_output(0);

            try {
                if (secret)
                {
                    key.export_secret(keydata, true, true);
                }
                else
                {
                    key.export_public(keydata, true, true);
                }
                // get key's contents from the output structure
                RopData buf = keydata.memory_get_buf(false);
                Console.WriteLine(buf.getString());
            } finally {
                rop.drop(keydata);
            }
        }
        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 });
        }
Ejemplo n.º 10
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 });
        }
Ejemplo n.º 11
0
        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 });
        }
Ejemplo n.º 12
0
 // stdout writer
 public bool WriteCallBack(object ctx, RopData buf)
 {
     Console.Write(buf.getString());
     return(true);
 }
Ejemplo n.º 13
0
        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 });
        }