public Pacjent(string sciezkaKatalogu)
        {
            BinaryReader br = new BinaryReader(File.Open(sciezkaKatalogu + @"\dane", FileMode.Open));

            id = br.ReadInt32();
            if (licznik < id)
            {
                licznik = id;
            }
            dataRejestracji = Pacjent.CzytajDateZPliku(br);

            imie          = Cipher.ReadString(br);
            nazwisko      = Cipher.ReadString(br);
            adres         = Cipher.ReadString(br);
            telefon       = Cipher.ReadString(br);
            email         = Cipher.ReadString(br);
            higiena       = Cipher.ReadString(br);
            stanBlony     = Cipher.ReadString(br);
            stanPrzyzebia = Cipher.ReadString(br);
            wywiadLeki    = Cipher.ReadString(br);
            wywiadAlergie = Cipher.ReadString(br);
            wywiadChoroby = Cipher.ReadString(br);
            wywiadInne    = Cipher.ReadString(br);


            br.Close();
            diagramZebowy = Zeby.CzytajZPliku(sciezkaKatalogu + @"\zeby");

            przeprowadzoneZabiegi = KluczWizyty.WczytajKluczeWizyt(sciezkaKatalogu + @"\wizyty");
            touched = false;
        }
Пример #2
0
 public bool Equals(KluczWizyty kw)
 {
     if (kw == null)
     {
         return(false);
     }
     return(this.kluczOd.Year == kw.kluczOd.Year && kluczOd.Month == kw.kluczOd.Month &&
            kluczOd.Day == kw.kluczOd.Day && kluczOd.Hour == kw.kluczOd.Hour && kluczOd.Minute == kw.kluczOd.Minute &&
            kluczDo.Hour == kw.kluczDo.Hour && kluczDo.Minute == kw.kluczDo.Minute);
 }
        internal void UsunWizyte(KluczWizyty k)
        {
            DateTime dataZmianyPrzycieta  = k.Data;
            bool     znalezionoZmiane     = false;
            Zmiana   zmianaZUsuwanaWizyta = null;

            foreach (Zmiana aktZmiana in zmianyAktualne)
            {
                if (DateTime.Compare(aktZmiana.DataZmiany, dataZmianyPrzycieta) == 0)
                {
                    zmianaZUsuwanaWizyta = aktZmiana;
                    znalezionoZmiane     = true;
                    break;
                }

                /*
                 * if (DateTime.Compare(aktZmiana.DataZmiany, dataZmianyPrzycieta) > 0)
                 * {
                 *  break;
                 * }
                 */
            }
            if (!znalezionoZmiane)
            {
                foreach (Zmiana aktZmiana in sterta)
                {
                    if (DateTime.Compare(aktZmiana.DataZmiany, dataZmianyPrzycieta) == 0)
                    {
                        zmianaZUsuwanaWizyta = aktZmiana;
                        znalezionoZmiane     = true;
                        break;
                    }
                }
            }
            if (!znalezionoZmiane)
            {
                List <Zmiana> listaZmian = sprowadzLubUtworzZmiany2(dataZmianyPrzycieta, 3, 3);
                foreach (Zmiana z in listaZmian)
                {
                    if (DateTime.Compare(z.DataZmiany, dataZmianyPrzycieta) == 0 /*   z.DataZmiany == dataZmianyPrzycieta */)
                    {
                        zmianaZUsuwanaWizyta = z;
                        znalezionoZmiane     = true;
                        break;
                    }
                }
            }

            if (znalezionoZmiane)
            {
                zmianaZUsuwanaWizyta.usunWizyte(k);
            }
        }
 public void UsunZListyWizyt(KluczWizyty k)
 {
     foreach (KluczWizyty kk in przeprowadzoneZabiegi)
     {
         if (k.Equals(kk))
         {
             przeprowadzoneZabiegi.Remove(kk);
             touched = true;
             return;
         }
     }
 }
Пример #5
0
 internal void usunWizyte(KluczWizyty k)
 {
     foreach (Wizyta w in wizyty)
     {
         if (k.Equals(w.getKlucz()))
         {
             w.skasujWpisWizytyUPacjenta();
             wizyty.Remove(w);
             touched = true;
             return;
         }
     }
 }
Пример #6
0
        public bool MoznaDodacWizyte(KluczWizyty KluczWprawdzanejWizyty)
        {
            if (!KluczWprawdzanejWizyty.teSameDaty(DataZmiany))
            {
                return(false);
            }

            foreach (Wizyta w in wizyty)
            {
                if (!Wizyta.brakKolizjiZInnaWizyta(KluczWprawdzanejWizyty, w.getKlucz()))
                {
                    return(false);
                }
            }
            return(true);
        }
Пример #7
0
        internal static List <KluczWizyty> WczytajKluczeWizyt(string sciezkaPLiku)
        {
            //metoda używana przez klasę Pacjent
            List <KluczWizyty> przeprowadzoneZabiegi = new List <KluczWizyty>();

            if (File.Exists(sciezkaPLiku))
            {
                BinaryReader br = new BinaryReader(File.Open(sciezkaPLiku, FileMode.Open));
                while (br.BaseStream.Position != br.BaseStream.Length)
                {
                    KluczWizyty wczytanyKlucz = KluczWizyty.CzytajZPliku(br);
                    przeprowadzoneZabiegi.Add(wczytanyKlucz);
                }
                br.Close();
            }
            return(przeprowadzoneZabiegi);
        }
Пример #8
0
        public static bool brakKolizjiZInnaWizyta(KluczWizyty kluczTej, KluczWizyty kluczTamtej)
        {
            bool wariant1 = false, wariant2 = false;

            if (DateTime.Compare(kluczTej.KluczOd, kluczTamtej.KluczDo) >= 0)
            {
                wariant1 = true;
            }
            if (DateTime.Compare(kluczTej.KluczDo, kluczTamtej.KluczOd) <= 0)
            {
                wariant2 = true;
            }
            if (wariant1 || wariant2)
            {
                return(true);
            }
            return(false);
        }
Пример #9
0
        internal static int Compare(Wizyta w, Wizyta ww)
        {
            KluczWizyty kw  = w.getKlucz();
            KluczWizyty kww = ww.getKlucz();

            if (!brakKolizjiZInnaWizyta(kw, kww))
            {
                return(0);
            }

            if (kw.KluczOd.Equals(kww.KluczDo))
            {
                return(1);
            }
            if (kw.KluczDo.Equals(kww.KluczOd))
            {
                return(-1);
            }
            return(DateTime.Compare(kw.KluczOd, kww.KluczOd));
        }
        internal Wizyta ZnajdzWizyte(DateTime dataWizyty, DateTime godzinaOd, DateTime godzinaDo)
        {
            Wizyta      poszukiwanaWizyta = null;
            KluczWizyty key = new KluczWizyty(dataWizyty, godzinaOd.Hour, godzinaOd.Minute, godzinaDo.Hour, godzinaDo.Minute);

            foreach (Zmiana z in zmianyAktualne)
            {
                if (DateTime.Compare(z.DataZmiany, dataWizyty) > 0)
                {
                    break;
                }
                else if (DateTime.Compare(z.DataZmiany, dataWizyty) == 0)
                {
                    for (int i = 0; i < z.Count; i++)
                    {
                        if (z.ElementAt(i).getKlucz().Equals(key))
                        {
                            poszukiwanaWizyta = new Wizyta(z.ElementAt(i));
                            return(poszukiwanaWizyta);
                        }
                    }
                }
            }
            foreach (Zmiana z in sterta)
            {
                if (DateTime.Compare(z.DataZmiany, dataWizyty) == 0)
                {
                    for (int i = 0; i < z.Count; i++)
                    {
                        if (z.ElementAt(i).getKlucz().Equals(key))
                        {
                            poszukiwanaWizyta = new Wizyta(z.ElementAt(i));
                            return(poszukiwanaWizyta);
                        }
                    }
                }
            }
            return(null);
        }
        private void buttonUsun_Click(object sender, EventArgs e)
        {
            DateTime teraz = DateTime.Now;
            DateTime dzis  = new DateTime(teraz.Year, teraz.Month, teraz.Day);

            DateTime dataWizyty;
            int      godzinaOd;
            int      minutaOd;
            int      godzinaDo;
            int      minutaDo;

            try
            {
                DateTime d = dateTimePicker2.Value;
                dataWizyty = new DateTime(d.Year, d.Month, d.Day);
                godzinaOd  = comboBoxGodzOd.SelectedIndex;
                minutaOd   = comboBoxMinOd.SelectedIndex * 15;
                godzinaDo  = comboBoxGodzDo.SelectedIndex;
                minutaDo   = comboBoxMinDo.SelectedIndex * 15;
            }
            catch (Exception e1)
            {
                return;
            }

            DateTime godzOd = new DateTime(dataWizyty.Year, dataWizyty.Month, dataWizyty.Day, godzinaOd, minutaOd, 0);
            DateTime godzDo = new DateTime(dataWizyty.Year, dataWizyty.Month, dataWizyty.Day, godzinaDo, minutaDo, 0);

            if (DateTime.Compare(godzOd, godzDo) >= 0)
            {
                MessageBox.Show("Godzina zakończenia wizyty musi być późniejsza niż godzina rozpoczęcia", "Niepoprawne dane wizyty", MessageBoxButtons.OK);
                return;
            }

            KluczWizyty key = new KluczWizyty(dataWizyty, godzinaOd, minutaOd, godzinaDo, minutaDo);

            bufor.UsunWizyte(key);
            odswiez();
        }
        public bool MoznaZapisacNaWizyte(DateTime dataZmiany, DateTime data, int _godzOd, int _minOd, int _godzDo, int _minDo)
        {
            DateTime dataZmianyPrzycieta = new DateTime(dataZmiany.Year, dataZmiany.Month, dataZmiany.Day);

            if (!(dataZmianyPrzycieta.Year == data.Year && dataZmianyPrzycieta.Month == data.Month && dataZmianyPrzycieta.Day == data.Day))
            {
                return(false);                                                         //wizyta i zmiana nie są tego samego dnia
            }
            DateTime rozpoczecieZabiegu = new DateTime(data.Year, data.Month, data.Day //
                                                       , _godzOd, _minOd, 0);
            DateTime zakonczenieZabiegu = new DateTime(data.Year, data.Month, data.Day //
                                                       , _godzDo, _minDo, 0);

            if (DateTime.Compare(zakonczenieZabiegu, rozpoczecieZabiegu) <= 0)
            {
                return(false);
            }

            bool   znalezionoZmiane = false;
            Zmiana znalezionaZmiana = null;

            //przeszukaj zmianyAktualne i sterte by znaleźć dzień na który chcemy zapisać wizytę
            foreach (Zmiana z in zmianyAktualne)
            {
                if (Zmiana.KeysEqual(dataZmianyPrzycieta, z.DataZmiany))
                {
                    znalezionoZmiane = true;
                    znalezionaZmiana = z;
                    break;
                }
            }
            if (!znalezionoZmiane)
            {
                foreach (Zmiana z in sterta)
                {
                    if (Zmiana.KeysEqual(dataZmianyPrzycieta, z.DataZmiany))
                    {
                        znalezionoZmiane = true;
                        znalezionaZmiana = z;
                        break;
                    }
                }
            }
            if (!znalezionoZmiane)
            {//przeszukano obie listy i nie znaleziono zmiany - utwórz zmiany z okresu 3 wstecz i 3 dni po dniu wizyty
                sprowadzLubUtworzZmiany(data, 3, 3);
            }
            foreach (Zmiana z in zmianyAktualne)
            {//znowu przeszukaj zmianyAktualne i sterte
                if (Zmiana.KeysEqual(dataZmianyPrzycieta, z.DataZmiany))
                {
                    znalezionoZmiane = true;
                    znalezionaZmiana = z;
                    break;
                }
            }
            if (!znalezionoZmiane)
            {
                foreach (Zmiana z in sterta)
                {
                    if (Zmiana.KeysEqual(dataZmianyPrzycieta, z.DataZmiany))
                    {
                        znalezionoZmiane = true;
                        znalezionaZmiana = z;
                        break;
                    }
                }
            }

            KluczWizyty k = new KluczWizyty(data, _godzOd, _minOd, _godzDo, _minDo);

            return(znalezionaZmiana.MoznaDodacWizyte(k));
        }
Пример #13
0
 public KluczWizyty(KluczWizyty k)
 {
     kluczOd = new DateTime(k.kluczOd.Year, k.kluczOd.Month, k.kluczOd.Day, k.kluczOd.Hour, k.kluczOd.Minute, 0);
     kluczDo = new DateTime(k.kluczOd.Year, k.kluczOd.Month, k.kluczOd.Day, k.kluczDo.Hour, k.kluczDo.Minute, 0);
 }
 public void dodajDoListyWizyt(KluczWizyty k)
 {
     przeprowadzoneZabiegi.Add(k);
     touched = true;
 }