Example #1
0
        public static Nemocnice Diff(Nemocnice fh, Nemocnice lh)
        {
            Nemocnice h = new Nemocnice();

            h.datum         = new DateTime((lh.datum - fh.datum).Ticks);
            h.zz_kod        = fh.zz_kod;
            h.zz_nazev      = fh.zz_nazev;
            h.kraj_nazev    = fh.kraj_nazev;
            h.kraj_nuts_kod = fh.kraj_nuts_kod;
            h.luzka_aro_jip_kapacita_celkem = lh.luzka_aro_jip_kapacita_celkem - fh.luzka_aro_jip_kapacita_celkem;
            h.luzka_aro_jip_kapacita_volna_covid_pozitivni = lh.luzka_aro_jip_kapacita_volna_covid_pozitivni - fh.luzka_aro_jip_kapacita_volna_covid_pozitivni;
            h.luzka_aro_jip_kapacita_volna_covid_negativni = lh.luzka_aro_jip_kapacita_volna_covid_negativni - fh.luzka_aro_jip_kapacita_volna_covid_negativni;
            h.crrt_kapacita_celkem = lh.crrt_kapacita_celkem - fh.crrt_kapacita_celkem;
            h.crrt_kapacita_volna  = lh.crrt_kapacita_volna - fh.crrt_kapacita_volna;
            h.ecmo_kapacita_celkem = lh.ecmo_kapacita_celkem - fh.ecmo_kapacita_celkem;
            h.ecmo_kapacita_volna  = lh.ecmo_kapacita_volna - fh.ecmo_kapacita_volna;

            h.ihd_kapacita_celkem = lh.ihd_kapacita_celkem - fh.ihd_kapacita_celkem;
            h.ihd_kapacita_volna  = lh.ihd_kapacita_volna - fh.ihd_kapacita_volna;
            h.reprofilizovana_kapacita_luzka_aro_jip_kapacita_celkem    = lh.reprofilizovana_kapacita_luzka_aro_jip_kapacita_celkem - fh.reprofilizovana_kapacita_luzka_aro_jip_kapacita_celkem;
            h.reprofilizovana_kapacita_luzka_aro_jip_kapacita_planovana = lh.reprofilizovana_kapacita_luzka_aro_jip_kapacita_planovana - fh.reprofilizovana_kapacita_luzka_aro_jip_kapacita_planovana;
            h.reprofilizovana_kapacita_luzka_aro_jip_kapacita_volna     = lh.reprofilizovana_kapacita_luzka_aro_jip_kapacita_volna - fh.reprofilizovana_kapacita_luzka_aro_jip_kapacita_volna;

            h.reprofilizovana_kapacita_luzka_standard_kyslik_kapacita_celkem    = lh.reprofilizovana_kapacita_luzka_standard_kyslik_kapacita_celkem - fh.reprofilizovana_kapacita_luzka_standard_kyslik_kapacita_celkem;
            h.reprofilizovana_kapacita_luzka_standard_kyslik_kapacita_planovana = lh.reprofilizovana_kapacita_luzka_standard_kyslik_kapacita_planovana - fh.reprofilizovana_kapacita_luzka_standard_kyslik_kapacita_planovana;
            h.reprofilizovana_kapacita_luzka_standard_kyslik_kapacita_volna     = lh.reprofilizovana_kapacita_luzka_standard_kyslik_kapacita_volna - fh.reprofilizovana_kapacita_luzka_standard_kyslik_kapacita_volna;

            h.luzka_standard_kyslik_kapacita_celkem = lh.luzka_standard_kyslik_kapacita_celkem - fh.luzka_standard_kyslik_kapacita_celkem;
            h.luzka_standard_kyslik_kapacita_volna_covid_negativni = lh.luzka_standard_kyslik_kapacita_volna_covid_negativni - fh.luzka_standard_kyslik_kapacita_volna_covid_negativni;
            h.luzka_standard_kyslik_kapacita_volna_covid_pozitivni = lh.luzka_standard_kyslik_kapacita_volna_covid_pozitivni - fh.luzka_standard_kyslik_kapacita_volna_covid_pozitivni;

            h.upv_kapacita_celkem = lh.upv_kapacita_celkem - fh.upv_kapacita_celkem;
            h.upv_kapacita_volna  = lh.upv_kapacita_volna - fh.upv_kapacita_volna;
            h.ventilatory_operacni_sal_kapacita_celkem = lh.ventilatory_operacni_sal_kapacita_celkem - fh.ventilatory_operacni_sal_kapacita_celkem;
            h.ventilatory_operacni_sal_kapacita_volna  = lh.ventilatory_operacni_sal_kapacita_volna - fh.ventilatory_operacni_sal_kapacita_volna;
            h.ventilatory_prenosne_kapacita_celkem     = lh.ventilatory_prenosne_kapacita_celkem - fh.ventilatory_prenosne_kapacita_celkem;
            h.ventilatory_prenosne_kapacita_volna      = lh.ventilatory_prenosne_kapacita_volna - fh.ventilatory_prenosne_kapacita_volna;



            return(h);
        }
Example #2
0
        static void Main(string[] args)
        {
            var DArgs = args
                        .Select(m => m.Split('='))
                        .ToDictionary(m => m[0].ToLower(), v => v.Length == 1 ? "" : v[1]);

            CreateDataset(DArgs);

            //find xls url
            string   openDataPage = "https://dip.mzcr.cz/api/v1/kapacity-intenzivni-pece-zdravotnicke-zarizeni.csv";
            Uri      xlsUrl       = null;
            DateTime fromD        = DateTime.Now.Date.AddDays(-30);

            Devmasters.Logging.Logger.Root.Info("Getting URL of csv from " + openDataPage);
            using (Devmasters.Net.HttpClient.URLContent net = new Devmasters.Net.HttpClient.URLContent(openDataPage))
            {
                Devmasters.Logging.Logger.Root.Info("Getting csv");
                var fn = "kapacity-intenzivni-pece-zdravotnicke-zarizeni.csv";
                System.IO.File.WriteAllBytes(fn, net.GetBinary().Binary);

                using (var reader = new StreamReader(fn)) //new StringReader(html))
                {
                    using (var csv = new CsvReader(reader, new CsvHelper.Configuration.CsvConfiguration(System.Globalization.CultureInfo.InvariantCulture)
                    {
                        Delimiter = ",",
                        IgnoreBlankLines = true,
                        HasHeaderRecord = true,
                        TrimOptions = CsvHelper.Configuration.TrimOptions.Trim
                    }))
                    {
                        //csv.Context.RegisterClassMap<NemocniceMap>();
                        //var records = csv.GetRecords<Nemocnice>().ToArray();

                        List <Nemocnice> recs = new List <Nemocnice>();
                        if (true)
                        {
                            csv.Read();
                            csv.ReadHeader();
                            while (csv.Read())
                            {
                                var record = new Nemocnice
                                {
                                    crrt_kapacita_celkem          = csv.GetField <int>("crrt_kapacita_celkem"),
                                    crrt_kapacita_volna           = csv.GetField <int>("crrt_kapacita_volna"),
                                    ecmo_kapacita_celkem          = csv.GetField <int>("ecmo_kapacita_celkem"),
                                    ecmo_kapacita_volna           = csv.GetField <int>("ecmo_kapacita_volna"),
                                    ihd_kapacita_celkem           = csv.GetField <int>("ihd_kapacita_celkem"),
                                    ihd_kapacita_volna            = csv.GetField <int>("ihd_kapacita_volna"),
                                    kraj_nazev                    = csv.GetField <string>("kraj_nazev"),
                                    kraj_nuts_kod                 = csv.GetField <string>("kraj_nuts_kod"),
                                    luzka_aro_jip_kapacita_celkem = csv.GetField <int>("luzka_aro_jip_kapacita_celkem"),
                                    luzka_aro_jip_kapacita_volna_covid_negativni                      = csv.GetField <int>("luzka_aro_jip_kapacita_volna_covid_negativni"),
                                    luzka_aro_jip_kapacita_volna_covid_pozitivni                      = csv.GetField <int>("luzka_aro_jip_kapacita_volna_covid_pozitivni"),
                                    luzka_standard_kyslik_kapacita_celkem                             = csv.GetField <int>("luzka_standard_kyslik_kapacita_celkem"),
                                    luzka_standard_kyslik_kapacita_volna_covid_negativni              = csv.GetField <int>("luzka_standard_kyslik_kapacita_volna_covid_negativni"),
                                    luzka_standard_kyslik_kapacita_volna_covid_pozitivni              = csv.GetField <int>("luzka_standard_kyslik_kapacita_volna_covid_pozitivni"),
                                    reprofilizovana_kapacita_luzka_aro_jip_kapacita_celkem            = csv.GetField <int?>("reprofilizovana_kapacita_luzka_aro_jip_kapacita_celkem") ?? 0,
                                    reprofilizovana_kapacita_luzka_aro_jip_kapacita_planovana         = csv.GetField <int?>("reprofilizovana_kapacita_luzka_aro_jip_kapacita_planovana") ?? 0,
                                    reprofilizovana_kapacita_luzka_aro_jip_kapacita_volna             = csv.GetField <int?>("reprofilizovana_kapacita_luzka_aro_jip_kapacita_volna") ?? 0,
                                    reprofilizovana_kapacita_luzka_standard_kyslik_kapacita_celkem    = csv.GetField <int?>("reprofilizovana_kapacita_luzka_standard_kyslik_kapacita_celkem") ?? 0,
                                    reprofilizovana_kapacita_luzka_standard_kyslik_kapacita_planovana = csv.GetField <int?>("reprofilizovana_kapacita_luzka_standard_kyslik_kapacita_planovana") ?? 0,
                                    reprofilizovana_kapacita_luzka_standard_kyslik_kapacita_volna     = csv.GetField <int?>("reprofilizovana_kapacita_luzka_standard_kyslik_kapacita_volna") ?? 0,
                                    upv_kapacita_celkem = csv.GetField <int>("upv_kapacita_celkem"),
                                    upv_kapacita_volna  = csv.GetField <int>("upv_kapacita_volna"),
                                    ventilatory_operacni_sal_kapacita_celkem = csv.GetField <int>("ventilatory_operacni_sal_kapacita_celkem"),
                                    ventilatory_operacni_sal_kapacita_volna  = csv.GetField <int>("ventilatory_operacni_sal_kapacita_volna"),
                                    ventilatory_prenosne_kapacita_celkem     = csv.GetField <int>("ventilatory_prenosne_kapacita_celkem"),
                                    ventilatory_prenosne_kapacita_volna      = csv.GetField <int>("ventilatory_prenosne_kapacita_volna"),
                                    zz_kod   = csv.GetField <string>("zz_kod"),
                                    zz_nazev = csv.GetField <string>("zz_nazev"),
                                    datum    = DateTime.ParseExact(csv.GetField <string>("datum"), "yyyy-MM-dd", System.Globalization.CultureInfo.CurrentCulture)
                                };
                                var iis = record.id;
                                if (record.datum > fromD)
                                {
                                    recs.Add(record);
                                }
                            }
                        }
                        //ds.AddOrRewriteItems(recs);
                        Devmasters.Batch.Manager.DoActionForAll <Nemocnice>(recs.OrderByDescending(o => o.datum),
                                                                            n =>
                        {
                            Console.Write(".");
                            ds.AddOrUpdateItem(n, HlidacStatu.Api.V2.Dataset.Typed.ItemInsertMode.skip);

                            return(new Devmasters.Batch.ActionOutputData());
                        }, false);
                    }
                }
            }
        }