Esempio n. 1
0
        /// <summary>
        /// Read start csv file
        /// </summary>
        /// <param name="path">path to file</param>
        /// <returns></returns>
        public IEnumerable <Student> ReadFile(string path)
        {
            const int SkipThreeItems = 3;

            using var reader = new StreamReader(path);
            using var csv    = new CsvHelper.CsvReader(reader, CultureInfo.InvariantCulture);
            var records = new List <Student>();

            csv.Read();
            csv.ReadHeader();

            while (csv.Read())
            {
                if (csv.Context.Record.Length != csv.Context.HeaderRecord.Length)
                {
                    throw new InvalidDataException("Wrong number of parameters");
                }
                var listOfSubjects = new List <Subject>();
                for (int index = SkipThreeItems; index < csv.Context.Record.Length; index++)
                {
                    var subject = new Subject(csv.Context.HeaderRecord[index], csv.GetField <int>(index));
                    listOfSubjects.Add(subject);
                }

                records.Add(new Student(csv.GetField(0), csv.GetField(1), csv.GetField(2), listOfSubjects));
            }

            return(records);
        }
Esempio n. 2
0
        private void Form1_Load(object sender, EventArgs e)
        {
            //read remember csv
            using (var reader = new StreamReader(Functions.bingPathToAppDir("\\data\\RememberMe.csv")))
                using (var csv = new CsvHelper.CsvReader(reader, CultureInfo.InvariantCulture))
                {
                    csv.Read();
                    csv.ReadHeader();
                    while (csv.Read())
                    {
                        var record = new user
                        {
                            Username = csv.GetField("Username"),
                            Password = csv.GetField("Password"),
                            UserType = csv.GetField("UserType")
                        };
                        UserR = record;
                    }
                }
            //re login if remember file includes info

            if (UserR.Password != " " && UserR.Username != " ")
            {
                tBname.Text     = UserR.Username;
                tBpassword.Text = UserR.Password;
                for (int i = 0; i < Program.records.Count; i++)
                {
                    if (Program.records[i].Username == tBname.Text)
                    {
                        if (Program.records[i].Password == tBpassword.Text)
                        {
                            Flag = true;
                            CurrentUser.Username = Program.records[i].Username;
                            CurrentUser.Password = Program.records[i].Password;
                            CurrentUser.UserType = Program.records[i].UserType;
                            break;
                        }
                    }
                }
                if (Flag == true)
                {
                    lbFlag.ForeColor = System.Drawing.Color.Green;
                    cB1.Checked      = true;
                    cB1.Enabled      = false;
                    lbFlag.Text      = "Sucsesfull Login";
                    testc();
                    btnLgn.Enabled    = false;
                    btnSignup.Enabled = false;
                }
            }
        }
        private void Personalinformation_Load(object sender, EventArgs e)
        {
            using (var reader = new StreamReader(Functions.bingPathToAppDir("\\data\\users.csv")))
                using (var csv = new CsvHelper.CsvReader(reader, CultureInfo.InvariantCulture))
                {
                    csv.Read();
                    csv.ReadHeader();
                    while (csv.Read())
                    {
                        var record = new user
                        {
                            Username    = csv.GetField("Username"),
                            Password    = csv.GetField("Password"),
                            UserType    = csv.GetField("UserType"),
                            Name        = csv.GetField("Name"),
                            Surname     = csv.GetField("Surname"),
                            Phonenumber = csv.GetField("Phonenumber"),
                            Address     = csv.GetField("Address"),
                            Email       = csv.GetField("Email"),
                            Photo       = csv.GetField("Photo")
                        };
                        records.Add(record);
                    }
                }

            for (int i = 0; i < records.Count; i++)
            {
                if (records[i].Username == Login.CurrentUser.Username)
                {
                    textBoxName.Text         = records[i].Name;
                    textBoxSurname.Text      = records[i].Surname;
                    maskedTextBoxNumber.Text = records[i].Phonenumber;
                    tBadress.Text            = records[i].Address;
                    textBoxEmail.Text        = records[i].Email;
                    base64Text = records[i].Photo;

                    byte[] imageBytes = Convert.FromBase64String(records[i].Photo);
                    // Convert byte[] to Image
                    using (var ms = new MemoryStream(imageBytes, 0, imageBytes.Length))
                    {
                        pictureBox1.Image = Image.FromStream(ms, true);
                    }
                }
                Program.records[i] = records[i];
            }
            Clear();
            ClearUndo();
        }
Esempio n. 4
0
        public List <String> GetStockSymbols()
        {
            List <string> myStringColumn = new List <string>();

            using (var fileReader = File.OpenText(csvPath))
                using (var csvResult = new CsvHelper.CsvReader(fileReader, CultureInfo.InvariantCulture))
                {
                    csvResult.Read();
                    csvResult.ReadHeader();
                    while (csvResult.Read())
                    {
                        string stringField = csvResult.GetField <string>("Symbol");
                        myStringColumn.Add(stringField);
                    }
                }

            return(myStringColumn);
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            listView1.Visible = false;
            btnUpdate.Enabled = false;
            btnDelete.Enabled = false;

            if (!System.IO.File.Exists(Functions.bingPathToAppDir("\\data\\reminder.csv")))
            {
                System.IO.FileStream f = System.IO.File.Create(Functions.bingPathToAppDir("\\data\\reminder.csv"));
                f.Close();
            }
            using (var reader = new StreamReader(Functions.bingPathToAppDir("\\data\\reminder.csv")))
                using (var csv = new CsvHelper.CsvReader(reader, CultureInfo.InvariantCulture))
                {
                    csv.Read();
                    csv.ReadHeader();
                    while (csv.Read())
                    {
                        var record = new calender
                        {
                            username = csv.GetField("username"),
                            type     = csv.GetField("type"),
                            note     = csv.GetField("note"),
                            date     = csv.GetField("date"),
                            clock    = csv.GetField("clock")
                        };
                        records.Add(record);
                    }
                }
            listView1.Items.Clear();
            foreach (var person in records)
            {
                if (Login.CurrentUser.Username == person.username)
                {
                    var row = new string[] { person.type, person.note, person.date, person.clock };
                    var lvi = new ListViewItem(row);

                    lvi.Tag = person;
                    listView1.Items.Add(lvi);
                }
            }
        }
Esempio n. 6
0
        private void FormPhoneBook_Load(object sender, EventArgs e)
        {
            if (!System.IO.File.Exists(Functions.bingPathToAppDir("\\data\\phonebook.csv")))
            {
                System.IO.FileStream f = System.IO.File.Create(Functions.bingPathToAppDir("\\data\\phonebook.csv"));
                f.Close();
            }
            // load recods from users csv file
            using (var reader = new StreamReader(Functions.bingPathToAppDir("\\data\\phonebook.csv")))
                using (var csv = new CsvHelper.CsvReader(reader, CultureInfo.InvariantCulture))
                {
                    csv.Read();
                    csv.ReadHeader();
                    while (csv.Read())
                    {
                        var record = new phonebook
                        {
                            name        = csv.GetField("name"),
                            surname     = csv.GetField("surname"),
                            phonenumber = csv.GetField("phonenumber"),
                            address     = csv.GetField("address"),
                            description = csv.GetField("description"),
                            email       = csv.GetField("email"),
                            user        = csv.GetField("user")
                        };
                        records.Add(record);
                    }
                }
            listView1.Items.Clear();
            foreach (var person in records)
            {
                if (Login.CurrentUser.Username == person.user)
                {
                    var row = new string[] { person.name, person.surname, person.phonenumber, person.address, person.description, person.email };
                    var lvi = new ListViewItem(row);

                    lvi.Tag = person;
                    listView1.Items.Add(lvi);
                }
            }
        }
Esempio n. 7
0
 private void Form2_Load(object sender, EventArgs e)
 {
     Flag = true;
     testc();
     if (!System.IO.File.Exists(Functions.bingPathToAppDir("\\data\\reminder.csv")))
     {
         System.IO.FileStream f = System.IO.File.Create(Functions.bingPathToAppDir("\\data\\reminder.csv"));
         f.Close();
     }
     // load recods from users csv file
     using (var reader = new StreamReader(Functions.bingPathToAppDir("\\data\\reminder.csv")))
         using (var csv = new CsvHelper.CsvReader(reader, CultureInfo.InvariantCulture))
         {
             csv.Read();
             csv.ReadHeader();
             while (csv.Read())
             {
                 var record = new calender
                 {
                     username = csv.GetField("username"),
                     type     = csv.GetField("type"),
                     note     = csv.GetField("note"),
                     date     = csv.GetField("date"),
                     clock    = csv.GetField("clock")
                 };
                 data.Add(record);
             }
         }
     foreach (var person in data)
     {
         if (Login.CurrentUser.Username == person.username)
         {
             pictureBox1.Visible = true;
             label2.Visible      = true;
             label3.Visible      = true;
             label2.Text         = person.note;
             label3.Text         = person.date + "  " + person.clock;
         }
     }
 }
Esempio n. 8
0
        private void Notes_Load(object sender, EventArgs e)
        {
            if (!System.IO.File.Exists(Functions.bingPathToAppDir("\\data\\notes.csv")))
            {
                System.IO.FileStream f = System.IO.File.Create(Functions.bingPathToAppDir("\\data\\notes.csv"));
                f.Close();
            }
            using (var reader = new StreamReader(Functions.bingPathToAppDir("\\data\\notes.csv")))
                using (var csv = new CsvHelper.CsvReader(reader, CultureInfo.InvariantCulture))
                {
                    csv.Read();
                    csv.ReadHeader();
                    while (csv.Read())
                    {
                        var record = new notes // we have one field for note, one field for note name,one field for current user
                        {
                            notename = csv.GetField("notename"),
                            note     = csv.GetField("note"),
                            user     = csv.GetField("user")
                        };
                        records.Add(record);
                    }
                }
            listView1.Items.Clear();
            foreach (var person in records)
            {
                if (Login.CurrentUser.Username == person.user)
                {
                    var row = new string[] { person.notename, person.note, person.user };
                    var lvi = new ListViewItem(row);

                    lvi.Tag = person;
                    listView1.Items.Add(lvi);
                }
            }
        }
Esempio n. 9
0
    string MergeStringTables(string oldLocalizedCsv, string newBaseCsv, string outputFileName)
    {
        // Use the CsvHelper to convert the two csvs to lists so they are easy to work with
        List <CsvEntry> oldEntries = new List <CsvEntry>();
        List <CsvEntry> newEntries = new List <CsvEntry>();

        using (var oldReader = new StringReader(oldLocalizedCsv))
            using (var newReader = new StringReader(newBaseCsv))
            {
                CsvHelper.CsvReader oldParser = new CsvHelper.CsvReader(oldReader, new CsvHelper.Configuration.Configuration(CultureInfo.InvariantCulture));
                CsvHelper.CsvReader newParser = new CsvHelper.CsvReader(newReader, new CsvHelper.Configuration.Configuration(CultureInfo.InvariantCulture));

                oldParser.Read();
                newParser.Read();

                oldParser.ReadHeader();
                newParser.ReadHeader();

                while (oldParser.Read())
                {
                    oldEntries.Add(
                        new CsvEntry
                    {
                        id         = oldParser.GetField("id"),
                        text       = oldParser.GetField("text"),
                        file       = oldParser.GetField("file"),
                        node       = oldParser.GetField("node"),
                        lineNumber = oldParser.GetField <int>("lineNumber"),
                    }
                        );
                }

                while (newParser.Read())
                {
                    newEntries.Add(
                        new CsvEntry
                    {
                        id         = newParser.GetField("id"),
                        text       = newParser.GetField("text"),
                        file       = newParser.GetField("file"),
                        node       = newParser.GetField("node"),
                        lineNumber = newParser.GetField <int>("lineNumber"),
                    }
                        );
                }
            }


        // This is where we merge the two string tables. Here's what's happening:
        // Use CsvParser to parse new base string table and old localized string table
        // The strategy is to use the fact that the two string tables look alike to optimize.
        // The algorithm goes through the string tables side by side. Imagine two fingers running
        // through the entries. At each line there are four different scenarios that we test for:
        //   scenario 1: The lines match (matching tags)
        //   scenario 2: The line in the new string table exists in the old string table but has been moved from somewhere else
        //   scenario 3: The line in the new string table is completely new (no line tags in old string table match it)
        //   scenario 4: The line in the old string table has been deleted (no line tags in new string table match it)

        //Go line by line:
        //1.If line tags are the same: add old localized with new line number and node. Increase index of both. (s1: matching lines)
        //2.Else if line tags are different:
        //  a. Search forward in the old string table for that line tag
        //    i. if we find it: add old localized with new line number and node. Remove from old. Increase new index. (s2: old line moved)
        //    ii. If we don't find it: Search forward in new string table for that line tag
        //      I. if we find it: add the one new line we are on. Increase new index. (s3: line is new)
        //      II. if we don't find it: ignore line. Increase old index. (s4: line has been deleted)
        int oldIndex = 0;
        int newIndex = 0;

        List <CsvEntry> mergedEntries = new List <CsvEntry>();

        // Mark new lines as new so they are easy to spot
        string newlineMarker = " (((NEW LINE)))";

        while (true)
        {
            // If no more entries in old: add the rest of the new entries and break
            if (oldEntries.Count <= oldIndex)
            {
                for (int i = newIndex; i < newEntries.Count; i++)
                {
                    CsvEntry entry = newEntries[i];
                    entry.text += newlineMarker;
                    mergedEntries.Add(entry);
                }
                break;
            }

            // If no more entries in new: all additional old entries must have been deleted so break
            if (newEntries.Count <= newIndex)
            {
                break;
            }

            //1. If line tags are the same: add old localized with new line number. Increase index of both.
            if (oldEntries[oldIndex].id == newEntries[newIndex].id)
            {
                CsvEntry entry = oldEntries[oldIndex];
                entry.lineNumber = newEntries[newIndex].lineNumber;
                entry.node       = newEntries[newIndex].node;
                mergedEntries.Add(entry);
                oldIndex++;
                newIndex++;
                continue;
            }
            //2. Else if line tags are different:
            else
            {
                // a. Search forward in the old string table for that line tag
                bool didFindInOld = false;
                for (int i = oldIndex + 1; i < oldEntries.Count; i++)
                {
                    // i. if we find it: add old localized with new line number. Remove from old. Increase index of new. (old line moved)
                    if (oldEntries[i].id == newEntries[newIndex].id)
                    {
                        CsvEntry entry = oldEntries[i];
                        entry.lineNumber = newEntries[newIndex].lineNumber;
                        entry.node       = newEntries[newIndex].node;
                        mergedEntries.Add(entry);
                        oldEntries.RemoveAt(i);
                        didFindInOld = true;
                        newIndex++;
                        break;
                    }
                }
                if (didFindInOld)
                {
                    continue;
                }

                // ii.If we don't find it: Search forward in new string table for that line tag
                bool didFindInNew = false;
                for (int i = newIndex + 1; i < newEntries.Count; i++)
                {
                    // I. if we find it: add the one new line we are on. Increase index of new. (line is new)
                    if (oldEntries[oldIndex].id == newEntries[i].id)
                    {
                        CsvEntry entry = newEntries[newIndex];
                        entry.text += newlineMarker;
                        mergedEntries.Add(entry);
                        newIndex++;
                        didFindInNew = true;
                        break;
                    }
                }
                // II. if we don't find it: ignore line. Increase index of old. (line has been deleted)
                if (!didFindInNew)
                {
                    oldIndex++;
                }
            }
        }

        // Entries are not necessarily added in the correct order and have to be sorted
        mergedEntries.Sort((a, b) => a.lineNumber.CompareTo(b.lineNumber));

        // Create new Csv file
        using (var memoryStream = new MemoryStream())
            using (var textWriter = new StreamWriter(memoryStream))
            {
                // Generate the localised .csv file
                var csv = new CsvHelper.CsvWriter(textWriter, new CsvHelper.Configuration.Configuration(CultureInfo.InvariantCulture));

                var lines = mergedEntries.Select(x => new
                {
                    id         = x.id,
                    text       = x.text,
                    file       = outputFileName,
                    node       = x.node,
                    lineNumber = x.lineNumber
                });

                csv.WriteRecords(lines);

                textWriter.Flush();

                memoryStream.Position = 0;

                using (var reader = new StreamReader(memoryStream))
                {
                    return(reader.ReadToEnd());
                }
            }
    }
Esempio n. 10
0
        private static void OpenDataDIP()
        {
            List <NemocniceData.Region> raw = new List <NemocniceData.Region>();

            //process https://dip.mzcr.cz/api/v1/kapacity-intenzivni-pece-vlna-2.csv

            DateTime mindate = DateTime.Now.Date.AddDays(-120);

            using (var net = new System.Net.Http.HttpClient().GetStreamAsync("https://dip.mzcr.cz/api/v1/kapacity-intenzivni-pece-zdravotnicke-zarizeni-04-2021.csv"))
            {
                using (System.IO.StreamReader rr = new StreamReader(net.Result))
                {
                    var csv = new CsvHelper.CsvReader(rr, new CsvHelper.Configuration.CsvConfiguration(System.Globalization.CultureInfo.GetCultureInfo("cs"))
                    {
                        HasHeaderRecord = true, Delimiter = ","
                    });
                    csv.Read(); csv.ReadHeader();
                    //csv.Read();//skip second line
                    while (csv.Read())
                    {
                        DateTime?date = Devmasters.DT.Util.ParseDateTime(csv.GetField <string>("datum")?.Trim(), null);
                        if (date == null)
                        {
                            continue;
                        }
                        DateTime dt = date.Value;
                        if (dt < mindate)
                        {
                            continue;
                        }
                        Console.WriteLine(".");

                        string kraj_nuts_kod = csv.GetField <string>("kraj_nuts_kod");
                        string region        = Kraje[kraj_nuts_kod];
                        var    r             = new NemocniceData.Region();
                        r.lastModified = date.Value;
                        r.region       = region;
                        r.name         = csv.GetField <string>("zz_nazev");
                        r.UPV_celkem   = 0;
                        r.UPV_volna    = 0;

                        r.ECMO_celkem = Devmasters.TextUtil.ConvertToInt(csv.GetField <string>("ecmo_kapacita_celkem"), 0).Value;
                        r.ECMO_volna  = Devmasters.TextUtil.ConvertToInt(csv.GetField <string>("ecmo_kapacita_volna"), 0).Value;

                        r.CRRT_celkem = Devmasters.TextUtil.ConvertToInt(csv.GetField <string>("cvvhd_kapacita_celkem"), 0).Value;
                        r.CRRT_volna  = Devmasters.TextUtil.ConvertToInt(csv.GetField <string>("cvvhd_kapacita_volna"), 0).Value;

                        r.IHD_celkem = 0;
                        r.IHD_volna  = 0;

                        r.AROJIP_luzka_celkem  = Devmasters.TextUtil.ConvertToInt(csv.GetField <string>("luzka_upv_niv_kapacita_celkem"), 0).Value;
                        r.AROJIP_luzka_covid   = Devmasters.TextUtil.ConvertToInt(csv.GetField <string>("luzka_upv_niv_kapacita_volna_covid_pozitivni"), 0).Value;
                        r.AROJIP_luzka_necovid = Devmasters.TextUtil.ConvertToInt(csv.GetField <string>("luzka_upv_niv_kapacita_volna_covid_negativni"), 0).Value;

                        r.Standard_luzka_s_kyslikem_celkem  = Devmasters.TextUtil.ConvertToInt(csv.GetField <string>("luzka_standard_kyslik_kapacita_celkem"), 0).Value;
                        r.Standard_luzka_s_kyslikem_covid   = Devmasters.TextUtil.ConvertToInt(csv.GetField <string>("luzka_standard_kyslik_kapacita_volna_covid_pozitivni"), 0).Value;
                        r.Standard_luzka_s_kyslikem_necovid = Devmasters.TextUtil.ConvertToInt(csv.GetField <string>("luzka_standard_kyslik_kapacita_volna_covid_negativni"), 0).Value;

                        //r.Lekari_AROJIP_celkem = 0;
                        //r.Lekari_AROJIP_dostupni = 0;

                        //r.Sestry_AROJIP_celkem = 0;
                        //r.Sestry_AROJIP_dostupni = 0;
                        //r.Standard_luzka_celkem = 0;
                        //r.Standard_luzka_s_monitor_celkem = 0;

                        r.Ventilatory_prenosne_celkem    = Devmasters.TextUtil.ConvertToInt(csv.GetField <string>("ventilatory_prenosne_kapacita_celkem"), 0).Value;
                        r.Ventilatory_operacnisal_celkem = Devmasters.TextUtil.ConvertToInt(csv.GetField <string>("ventilatory_operacni_sal_kapacita_celkem"), 0).Value;


                        raw.Add(r);
                    }
                }
            }
            Devmasters.Logging.Logger.Root.Info("Saving");
            var dates = raw.Select(m => m.lastModified).Distinct();
            var kraje = raw.Select(m => m.region).Distinct();

            foreach (var dt in dates.Where(m => m > mindate))
            {
                Console.WriteLine(dt);

                NemocniceData nem = null; //new NemocniceData();
                var           id  = "id_" + dt.ToString("yyyy-MM-dd");
                List <NemocniceData.Region> nr = new List <NemocniceData.Region>();
                foreach (var kr in kraje)
                {
                    var lines = raw.Where(m => m.lastModified == dt && m.region == kr).ToArray();
                    var r     = NemocniceData.Aggregate(lines);
                    r.region = kr;
                    nr.Add(r);
                }

                try
                {
                    nem = ds.GetItem(id); // new NemocniceData();
                }
                catch (Exception)
                {
                }
                if (nem == null)
                {
                    nem = new NemocniceData();
                }
                nem.id          = id;
                nem.regions     = nr;
                nem.lastUpdated = dt;
                ds.AddOrUpdateItem(nem, HlidacStatu.Api.V2.Dataset.Typed.ItemInsertMode.rewrite);
            }
            //ds.AddOrUpdateItem(nd, HlidacStatu.Api.V2.Dataset.Typed.ItemInsertMode.rewrite);
        }