private void ImportCSV_MenuItem_Click(object sender, RoutedEventArgs e)
        {
            var dialog = new OpenFileDialog();

            dialog.Filter     = "CSV documents (.csv)|*.csv";
            dialog.DefaultExt = "*.csv";

            if (dialog.ShowDialog() == true)
            {
                if (File.Exists(dialog.FileName))
                {
                    using (var stream = new StreamReader(dialog.FileName))
                    {
                        try
                        {
                            if (personDataModel.Count > 0)
                            {
                                var iRet = MessageBox.Show("Czy chcesz przed dokonaniem importu usunąć wszystkie osoby z listy?",
                                                           "Pytanie", MessageBoxButton.YesNo, MessageBoxImage.Question);

                                if (iRet == MessageBoxResult.Yes)
                                {
                                    personDataModel.Clear();

                                    // usuwanie wszystkich rekordów z bazy danych
                                    var rows = from p in _context.Persons
                                               select p;

                                    foreach (var row in rows)
                                    {
                                        _context.Persons.Remove(row);
                                    }

                                    _context.SaveChanges();
                                }
                            }

                            // importowanie danych z pliku CSV
                            string line;
                            while ((line = stream.ReadLine()) != null)
                            {
                                personDataModel.Add(DatabaseLibrary.Models.Person.Parse(line));
                            }

                            // przeglądanie wczytanych danych oraz zapis do bazy SQLite
                            foreach (var p in personDataModel)
                            {
                                var person = new Person
                                {
                                    ID        = p.ID,
                                    FirstName = p.FirstName,
                                    LastName  = p.LastName,

                                    Contact = new Contact
                                    {
                                        City       = p.City,
                                        Street     = p.Street,
                                        HomeNumber = p.HomeNumber,
                                        PostCode   = p.PostCode,
                                        PostOffice = p.PostOffice,
                                        Phone      = p.Phone,
                                        Email      = p.Email
                                    }
                                };
                                _context.Persons.Add(person);
                            }
                            _context.SaveChanges();

                            MessageBox.Show("Import danych z pliku CSV zakończony!\r\n" +
                                            "Jeśli dane nie pojawiły się na liście proszę ponownie uruchomić program!", "Import CSV",
                                            MessageBoxButton.OK, MessageBoxImage.Information);
                        }
                        catch (IOException ex)
                        {
                            MessageBox.Show("Podczas odczytu pliku wystąpił błąd wejścia/wyjścia", "Błąd",
                                            MessageBoxButton.OK, MessageBoxImage.Hand);
                        }
                        catch (NullReferenceException ex)
                        {
                            MessageBox.Show("Podczas odczytu wiersza z pliku wystąpiły błędy!", "ReadLine",
                                            MessageBoxButton.OK, MessageBoxImage.Hand);
                        }
                    }
                }
            }
        }