Ejemplo n.º 1
0
        public Wizyta(DateTime data, int godzOd, int minOd, int godzDo, int minDo, string _opis, double _cena, Pacjent p)
        {
            pacj         = p;
            dataWizytyOd = new DateTime(data.Year, data.Month, data.Day, godzOd, minOd, 0);
            dataWizytyDo = new DateTime(data.Year, data.Month, data.Day, godzDo, minDo, 0);


            if (DateTime.Compare(dataWizytyDo, dataWizytyOd) <= 0)
            {
                throw new Exception("konstruktor wizyta, godzina od wieksza lub rowna godzinie do");
            }
            opis = _opis;
            cena = _cena;
            p.dodajDoListyWizyt(new KluczWizyty(this));
        }
Ejemplo n.º 2
0
        internal FormZapis(Form1 form1, Wizyta w, bool editMode)
        {
            this.editMode = editMode;
            InitializeComponent();
            this.mainForm         = form1;
            this.mainForm.Enabled = false;
            form1.TopMost         = false;
            this.Show();
            this.TopMost = true;
            //konstruktor przygotowujący formularz do oglądania wizyty
            textBoxImie.Enabled     = false;
            textBoxNazwisko.Enabled = false;
            buttonZapisz.Enabled    = false;
            comboBoxId.Enabled      = false;
            textBoxImie.Visible     = false;
            textBoxNazwisko.Visible = false;
            comboBoxId.Visible      = false;
            buttonZapisz.Visible    = false;
            labelImie.Visible       = false;
            labelNazwisko.Visible   = false;
            label4.Visible          = false;
            form1.TopMost           = false;
            this.TopMost            = true;
            Pacjent pacpac = w.Pacj;



            kopiaZebowWybranego = pacpac.diagramZebowy.DeepCopy();
            string[] pola = Pacjent.pobierzNazwydanych();
            string[] dane = pacpac.pobierzDane();
            wybrany = pacpac;
            dataGridView1.Rows.Clear();
            for (int i = 0; i < pola.Length; i++)
            {
                dataGridView1.Rows.Add(pola[i], dane[i]);
            }
            textBoxOpis.Text = w.opis;
            textBoxCena.Text = Convert.ToString(w.cena);
            this.Text        = "wizyta " + String.Format("{0:yyyy/MM/dd HH:mm}", w.DataWizytyOd) + "-" + String.Format("{0:HH:mm}", w.DataWizytyDo);

            dataGridView1.AllowUserToDeleteRows   = false;
            dataGridView1.AllowUserToOrderColumns = false;
            dataGridView1.AllowUserToAddRows      = false;
        }
        private void buttonKartUsun_Click(object sender, EventArgs e)
        {
            if (dataGridViewKartLista.SelectedCells.Count == 0)
            {
                return;
            }
            int     id_row_idx         = dataGridViewKartLista.CurrentCell.RowIndex;
            int     id                 = Convert.ToInt32(dataGridViewKartLista.Rows[id_row_idx].Cells[0].Value.ToString());
            bool    znalezionoPacjenta = false;
            Pacjent pacpac             = null;

            foreach (Pacjent p in pacjenci)
            {
                if (p.Id == id)
                {
                    pacpac             = p;
                    znalezionoPacjenta = true;
                    break;
                }
            }
            if (!znalezionoPacjenta)
            {
                foreach (Pacjent p in pacjenciUsunieci)
                {
                    if (p.Id == id)
                    {
                        pacpac             = p;
                        znalezionoPacjenta = true;
                        break;
                    }
                }
            }
            if (!znalezionoPacjenta)
            {
                MessageBox.Show("Brak pacjenta o takim id w bazie", "Niepoprawne dane", MessageBoxButtons.OK);
                return;
            }
            this.UsunPacjenta(pacpac);
            odswiez();
        }
        private void buttonKartPrzywroc_Click(object sender, EventArgs e)
        {
            if (dataGridViewKartLista.SelectedCells.Count == 0)
            {
                return;
            }
            int     id_row_idx      = dataGridViewKartLista.CurrentCell.RowIndex;
            int     id              = Convert.ToInt32(dataGridViewKartLista.Rows[id_row_idx].Cells[0].Value.ToString());
            Pacjent pacjPrzywracany = null;

            foreach (Pacjent p in pacjenciUsunieci)
            {
                if (p.Id == id)
                {
                    pacjPrzywracany = p;
                    pacjenciUsunieci.Remove(p);
                    break;
                }
            }
            if (pacjPrzywracany == null)
            {
                MessageBox.Show("Nie znaleziono usuniętego pacjenta o podanym id", "Niewłaściwe id", MessageBoxButtons.OK);
                return;
            }
            pacjenci.Add(pacjPrzywracany);
            odswiezKartoteke();
            pacjPrzywracany.setTouched();
            if (Directory.Exists(KatalogGlowny + @"\pacjenciUsunieci\" + Convert.ToString(pacjPrzywracany.Id)))
            {
                if (!Directory.Exists(KatalogGlowny + @"\pacjenci\" + Convert.ToString(pacjPrzywracany.Id)))
                {
                    Directory.Move(KatalogGlowny + @"\pacjenciUsunieci\" + Convert.ToString(pacjPrzywracany.Id), KatalogGlowny + @"\pacjenci\" + Convert.ToString(pacjPrzywracany.Id));
                }
            }
            if (Directory.Exists(KatalogGlowny + @"\pacjenciUsunieci\" + Convert.ToString(pacjPrzywracany.Id)))
            {
                Directory.Delete(KatalogGlowny + @"\pacjenciUsunieci\" + Convert.ToString(pacjPrzywracany.Id), true);
            }
        }
        private void buttonKartPokaz_Click(object sender, EventArgs e)
        {
            if (dataGridViewKartLista.SelectedCells.Count == 0)
            {
                return;
            }
            int     id_row_idx         = dataGridViewKartLista.CurrentCell.RowIndex;
            int     id                 = Convert.ToInt32(dataGridViewKartLista.Rows[id_row_idx].Cells[0].Value.ToString());
            bool    znalezionoPacjenta = false;
            Pacjent pacpac             = null;

            foreach (Pacjent p in pacjenci)
            {
                if (p.Id == id)
                {
                    pacpac             = p;
                    znalezionoPacjenta = true;
                    break;
                }
            }
            if (!znalezionoPacjenta)
            {
                foreach (Pacjent p in pacjenciUsunieci)
                {
                    if (p.Id == id)
                    {
                        pacpac             = p;
                        znalezionoPacjenta = true;
                        break;
                    }
                }
            }
            if (!znalezionoPacjenta)
            {
                MessageBox.Show("Nie ma w bazie pacjenta o podanym id", "Błąd wyszukiwania", MessageBoxButtons.OK);
                return;
            }
            FormPacjentEditShow fPES = new FormPacjentEditShow(pacpac, this, 1);
        }
        internal FormDiagram(Pacjent pacjentDoPokazania, Form1 mf, FormPacjentEditShow fPES, bool editMode)
        {
            InitializeComponent();
            ze = pacjentDoPokazania.diagramZebowy;
            przekazanyPacjent = pacjentDoPokazania;
            canvas.BackColor  = Color.DeepSkyBlue;

            if (!editMode)
            {
                ZebyPrzycisk.Visible = false;
            }


            mainForm          = mf;
            formPacj          = null;
            formZapisUsuwanie = null;
            formEditShow      = fPES;
            fPES.TopMost      = false;
            fPES.Enabled      = false;
            this.TopMost      = true;
            this.Show();
            this.BringToFront();
        }
        internal FormDiagram(Pacjent nowyPacjent, Form1 mf, FormPacjent fp, bool editMode)
        {
            InitializeComponent();
            przekazanyPacjent = nowyPacjent;
            ze = nowyPacjent.diagramZebowy;
            canvas.BackColor = Color.DeepSkyBlue;

            if (!editMode)
            {
                ZebyPrzycisk.Visible = false;
            }


            mainForm          = mf;
            formPacj          = fp;
            formEditShow      = null;
            formZapisUsuwanie = null;
            formPacj.TopMost  = false;
            formPacj.Enabled  = false;
            this.TopMost      = true;
            this.Show();
            this.BringToFront();
        }
Ejemplo n.º 8
0
        internal static Wizyta CzytajZPliku(BinaryReader br, List <Pacjent> pacjenci, List <Pacjent> pacjenciUsunieci)
        {
            Wizyta  wczytywanaWizyta = new Wizyta();
            int     idPacjenta       = br.ReadInt32();
            Pacjent pacpac           = null;

            foreach (Pacjent p in pacjenci)
            {//odnajdź pacjenta o danym id w pacjentach lub w pacjentach usuniętych
                if (p.Id == idPacjenta)
                {
                    pacpac = p;
                    break;
                }
            }
            if (pacpac == null)
            {
                foreach (Pacjent p in pacjenciUsunieci)
                {
                    if (p.Id == idPacjenta)
                    {
                        pacpac = p;
                        break;
                    }
                }
            }
            wczytywanaWizyta.pacj = pacpac;
            //wczytaj resztę danych
            int[] daneCzasowe = Wizyta.WczytajDaneCzasowe(br);
            wczytywanaWizyta.dataWizytyOd = new DateTime(daneCzasowe[0], daneCzasowe[1], daneCzasowe[2], daneCzasowe[3], daneCzasowe[4], 0);
            wczytywanaWizyta.dataWizytyDo = new DateTime(daneCzasowe[0], daneCzasowe[1], daneCzasowe[2], daneCzasowe[5], daneCzasowe[6], 0);

            wczytywanaWizyta.opis = Cipher.ReadString(br);

            wczytywanaWizyta.cena = br.ReadDouble();
            return(wczytywanaWizyta);
        }
Ejemplo n.º 9
0
        private void wyszukajPoImieniuINazwisku(string imie, string nazwisko)
        {
            dataGridView1.Rows.Clear();
            WyszukaniPacjenci.Clear();
            comboBoxId.Items.Clear();
            if (imie == "" && nazwisko == "")
            {
                return;
            }

            //nowe wyszukiwanie
            List <Pacjent> wyszukaniPoNazwisku = new List <Pacjent>();
            List <Pacjent> wyszukaniPoImieniu  = new List <Pacjent>();

            if (nazwisko != "")
            {
                foreach (Pacjent p in pacjenci)
                {
                    if (p.Nazwisko.Length < nazwisko.Length)
                    {
                        continue;
                    }
                    if (p.Nazwisko.ToLower().Substring(0, nazwisko.Length) == nazwisko.ToLower())
                    {
                        wyszukaniPoNazwisku.Add(p);
                    }
                }
            }
            if (imie != "")
            {
                foreach (Pacjent p in pacjenci)
                {
                    if (p.Imie.Length < imie.Length)
                    {
                        continue;
                    }
                    if (p.Imie.ToLower().Substring(0, imie.Length) == imie.ToLower())
                    {
                        wyszukaniPoImieniu.Add(p);
                    }
                }
            }

            if (nazwisko != "" && imie != "")
            {
                foreach (Pacjent p in pacjenci)
                {
                    if (wyszukaniPoImieniu.Contains(p) && wyszukaniPoNazwisku.Contains(p))
                    {
                        WyszukaniPacjenci.Add(p);
                    }
                }
            }
            else if (nazwisko == "" && imie != "")
            {
                foreach (Pacjent p in pacjenci)
                {
                    if (wyszukaniPoImieniu.Contains(p))
                    {
                        WyszukaniPacjenci.Add(p);
                    }
                }
            }
            else if (imie == "" && nazwisko != "")
            {
                foreach (Pacjent p in pacjenci)
                {
                    if (wyszukaniPoNazwisku.Contains(p))
                    {
                        WyszukaniPacjenci.Add(p);
                    }
                }
            }

            //t

            foreach (Pacjent p in WyszukaniPacjenci)
            {
                comboBoxId.Items.Add(Convert.ToString(p.Id));
            }
            if (WyszukaniPacjenci.Count > 0)
            {
                wybrany = WyszukaniPacjenci.First();
                comboBoxId.SelectedIndex = 0;
            }
        }
        private void UsunPacjenta(Pacjent pacpac)
        {
            List <KluczWizyty> wizytyPacjentaUsuwanego = pacpac.getKluczeWizyt();

            if (wizytyPacjentaUsuwanego.Count == 0)
            {
                //pacjent nie ma żadnych wizyt - usuń permanentie
                if (Directory.Exists(KatalogGlowny + @"\pacjenci\" + Convert.ToString(pacpac.Id)))
                {
                    Directory.Delete(KatalogGlowny + @"\pacjenci\" + Convert.ToString(pacpac.Id), true);
                }
                else if (Directory.Exists(KatalogGlowny + @"\pacjenciUsunieci\" + Convert.ToString(pacpac.Id)))
                {
                    Directory.Delete(KatalogGlowny + @"\pacjenciUsunieci\" + Convert.ToString(pacpac.Id), true);
                }
                foreach (Pacjent p in pacjenci)
                {
                    if (pacpac.Id == p.Id)
                    {
                        pacjenci.Remove(p);
                        return;
                    }
                }
                foreach (Pacjent p in pacjenciUsunieci)
                {
                    if (pacpac.Id == p.Id)
                    {
                        pacjenciUsunieci.Remove(p);
                        return;
                    }
                }
            }
            else
            {
                //pacjent ma jakieś wizyty - przenieś go pacjentów usuniętych
                bool pacZnaleziony = false;
                foreach (Pacjent p in pacjenci)
                {
                    if (pacpac.Id == p.Id)
                    {
                        pacjenci.Remove(p);
                        pacZnaleziony = true;
                        break;
                    }
                }
                if (!pacZnaleziony)
                {
                    MessageBox.Show("Brak pacjenta o podannym id w bazie", "Niewłaściwe id", MessageBoxButtons.OK);
                    return;
                }
                pacjenciUsunieci.Add(pacpac);
                pacpac.setTouched();
                //przenieś pliki usuwanego pacjenta do pacjentów usuniętych
                if (Directory.Exists(KatalogGlowny + @"\pacjenci\" + Convert.ToString(pacpac.Id)))
                {
                    Directory.Move(KatalogGlowny + @"\pacjenci\" + Convert.ToString(pacpac.Id), KatalogGlowny + @"\pacjenciUsunieci\" + Convert.ToString(pacpac.Id));
                }

                if (Directory.Exists(KatalogGlowny + @"\pacjenci\" + Convert.ToString(pacpac.Id)))
                {
                    Directory.Delete(KatalogGlowny + @"\pacjenci\" + Convert.ToString(pacpac.Id), true);
                }
            }
        }
        public Form1()
        {
            InitializeComponent();
            groupBoxPacjenci.Controls.Add(radioButtonPacj);
            groupBoxPacjenci.Controls.Add(radioButtonPacjUs);
            //etap 1 - dodanie do list kartoteki i terminarza ich obiektów
            panelTerminarza = new List <Control>();
            panelKartoteki  = new List <Control>();
            panelTerminarza.Add(dataGridViewGrafik);
            panelTerminarza.Add(dateTimePicker1);
            panelTerminarza.Add(buttonDzienWcz);
            panelTerminarza.Add(buttonDzienPoz);
            panelTerminarza.Add(dateTimePicker2);
            panelTerminarza.Add(comboBoxGodzOd);
            panelTerminarza.Add(comboBoxMinOd);
            panelTerminarza.Add(comboBoxGodzDo);
            panelTerminarza.Add(comboBoxMinDo);
            panelTerminarza.Add(buttonZapisz);
            panelTerminarza.Add(buttonPokaz);
            panelTerminarza.Add(buttonUsun);
            panelTerminarza.Add(labelGodzRoz);
            panelTerminarza.Add(labelGodzZak);
            staraLokPanelKonfOdswiez = panelKonfigOdswiez.Location;

            panelKartoteki.Add(dataGridViewKartLista);
            panelKartoteki.Add(buttonKartEdytuj);
            panelKartoteki.Add(buttonKartNowy);
            panelKartoteki.Add(buttonKartPokaz);
            panelKartoteki.Add(buttonKartUsun);
            panelKartoteki.Add(groupBoxPacjenci);
            panelKartoteki.Add(radioButtonPacj);
            panelKartoteki.Add(radioButtonPacjUs);
            panelKartoteki.Add(buttonKartPrzywroc);
            panelKartoteki.Add(buttonNastepny);
            panelKartoteki.Add(textBoxWyszukaj);
            panelKartoteki.Add(labelWyszukaj);
            panelKartoteki.Add(flowLayoutPanel1);
            foreach (Control elementKartoteki in panelKartoteki)
            {
                elementKartoteki.Visible = false;
            }
            kolumna_wyszukiwania_DGVKartoteka = 2;

            //etap 2 - inicjalizacja list pacjentów
            pacjenci         = new List <Pacjent>();
            pacjenciUsunieci = new List <Pacjent>();
            //etap 3 - jeśli pierwszy raz uruchamiamy program, to tworzymy strukturę plików
            if (!Directory.Exists(KatalogGlowny))
            {
                zbudujStrukturePlikow(KatalogGlowny);
            }
            //etap 4 - wczytanie danych do deszyfracji plików
            byte[]       aesKey    = null;
            byte[]       aesIV     = null;
            BinaryReader aesBR     = new BinaryReader(File.Open(KatalogGlowny + @"\plikiKonfiguracyjne\bit", FileMode.Open));
            int          keyLength = aesBR.ReadInt32();

            aesKey = aesBR.ReadBytes(keyLength);
            int vectLength = aesBR.ReadInt32();

            aesIV      = aesBR.ReadBytes(vectLength);
            Cipher.Key = aesKey;
            Cipher.Iv  = aesIV;
            aesBR.Close();

            //etap 5 - wczytanie hasła - jeśli hasło to abcdef, to znaczy, że ono hasło jeszcze nie zostało ustawione
            BinaryReader brHaslo     = new BinaryReader(File.Open(KatalogGlowny + @"\plikiKonfiguracyjne\i", FileMode.Open));
            string       hasloZPliku = Cipher.ReadString(brHaslo);

            brHaslo.Close();
            string hasloZPlikuOdszyfrowane = hasloZPliku;

            haslo = hasloZPlikuOdszyfrowane;
            if (hasloZPlikuOdszyfrowane == "abcdef")
            {
                pierwszeUruchomienie = true;
            }



            //etap 6 - wczytanie pacjentów
            Pacjent.wczytajLicznik(KatalogGlowny + @"\plikiKonfiguracyjne\licznikPacjenta");
            string[] listaKatalogowPacjentow = Directory.GetDirectories(KatalogGlowny + @"\pacjenci");

            foreach (string katPacjenta in listaKatalogowPacjentow)
            {
                Pacjent pacpac = new Pacjent(katPacjenta);
                pacjenci.Add(pacpac);
            }
            string[] listaKatalogowPacjentowUsunietych = Directory.GetDirectories(KatalogGlowny + @"\pacjenciUsunieci");
            foreach (string katPacjenta in listaKatalogowPacjentowUsunietych)
            {
                Pacjent pacpac = new Pacjent(katPacjenta);
                pacjenciUsunieci.Add(pacpac);
            }



            //etap 7 - wczytanie danych do utworzenia bufora zmian i utworzenie obkietu tej klasy
            List <int> daneKonfiguracyjneBufora = BuforZmian.WczytajGodzinyPracyIIlociDni(KatalogGlowny + @"\plikiKonfiguracyjne\buforZmian");
            DateTime   godzOtw = new DateTime(2000, 1, 1, daneKonfiguracyjneBufora.ElementAt(0), daneKonfiguracyjneBufora.ElementAt(1), 0);
            DateTime   godzZam = new DateTime(2000, 1, 1, daneKonfiguracyjneBufora.ElementAt(2), daneKonfiguracyjneBufora.ElementAt(3), 0);

            bufor = new BuforZmian(pacjenci, pacjenciUsunieci, daneKonfiguracyjneBufora.ElementAt(4), daneKonfiguracyjneBufora.ElementAt(5),
                                   godzOtw, godzZam, 15);
            DateTime teraz = DateTime.Now;
            DateTime Dzis  = teraz.Date;


            //etap 8 - wyłączenie niektórych funkcjonalności obiektów DataGridView tworzących terminarz i okno kartoteki pacjentów
            dataGridViewKartLista.AllowUserToAddRows      = false;
            dataGridViewKartLista.AllowUserToDeleteRows   = false;
            dataGridViewKartLista.AllowUserToOrderColumns = false;
            dataGridViewGrafik.MultiSelect              = false;
            dataGridViewKartLista.MultiSelect           = false;
            dataGridViewKartLista.AllowUserToResizeRows = false;
            dataGridViewGrafik.AllowUserToAddRows       = false;
            dataGridViewGrafik.AllowUserToDeleteRows    = false;
            dataGridViewGrafik.AllowUserToOrderColumns  = false;
            dataGridViewGrafik.AllowUserToResizeRows    = false;
            dataGridViewGrafik.AllowDrop = false;
            szerPolDGVGraf = dataGridViewGrafik.Columns[1].Width;

            //etap 9 - utworzenie obiektu zapełniaczDGV
            grafik = new ZapelniaczDGV(Dzis, bufor, dataGridViewGrafik);
            //etap 10 - przygotowanie pozostałych obiektów interfejsu do pracy
            for (int i = 0; i < 24; i++)
            {
                string godzinaNapis = Convert.ToString(i);
                if (godzinaNapis.Length == 1)
                {
                    godzinaNapis = "0" + godzinaNapis;
                }
                comboBoxGodzOd.Items.Add(godzinaNapis);
                comboBoxGodzDo.Items.Add(godzinaNapis);
            }
            comboBoxMinOd.Items.Add("00");
            comboBoxMinOd.Items.Add("15");
            comboBoxMinOd.Items.Add("30");
            comboBoxMinOd.Items.Add("45");
            comboBoxMinDo.Items.Add("00");
            comboBoxMinDo.Items.Add("15");
            comboBoxMinDo.Items.Add("30");
            comboBoxMinDo.Items.Add("45");
            comboBoxGodzOd.SelectedIndex = 0;
            comboBoxMinOd.SelectedIndex  = 0;
            comboBoxGodzDo.SelectedIndex = 0;
            comboBoxMinDo.SelectedIndex  = 0;
            comboBoxGodzOd.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
            comboBoxMinOd.DropDownStyle  = System.Windows.Forms.ComboBoxStyle.DropDownList;
            comboBoxGodzDo.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
            comboBoxMinDo.DropDownStyle  = System.Windows.Forms.ComboBoxStyle.DropDownList;

            radioButtonPacj.Checked = true;
        }
 internal void pobierzPacjenta(Pacjent pacpac)
 {
     //funkcja wywoływana w formularzu FormPacjent - przy tworzeniu nowego pacjenta
     pacjenci.Add(pacpac);
     odswiezKartoteke();
 }