コード例 #1
0
        public bool DodajWizyte(Wizyta w)
        {
            if (!MoznaDodacWizyte(w.getKlucz()))
            {
                return(false);
            }
            if (wizyty.Count == 0)
            {
                wizyty.Add(w);
                touched = true;
                return(true);
            }
            int i = 0;

            for (i = 0; i < wizyty.Count; i++)
            {
                if (Wizyta.Compare(w, wizyty.ElementAt(i)) < 0)
                {
                    wizyty.Insert(i, w);
                    touched = true;
                    return(true);
                }
            }
            wizyty.Add(w);
            touched = true;
            return(true);
        }
コード例 #2
0
        internal void ZapiszNaWizyte(DateTime dataWizyty, Wizyta umowionaWizyta)
        {
            DateTime dataWizytyPrzycieta = new DateTime(dataWizyty.Year, dataWizyty.Month, dataWizyty.Day);

            if (!MoznaZapisacNaWizyte(dataWizytyPrzycieta, umowionaWizyta))
            {
                return;
            }


            foreach (Zmiana z in zmianyAktualne)
            {
                if (Zmiana.KeysEqual(z.DataZmiany, dataWizytyPrzycieta))
                {
                    z.DodajWizyte(umowionaWizyta);
                    return;
                }
            }
            foreach (Zmiana z in sterta)
            {
                if (Zmiana.KeysEqual(z.DataZmiany, dataWizytyPrzycieta))
                {
                    z.DodajWizyte(umowionaWizyta);
                    return;
                }
            }
        }
コード例 #3
0
        public KluczWizyty(Wizyta w)
        {
            DateTime dataWizyty = w.Data;

            kluczOd = new DateTime(dataWizyty.Year, dataWizyty.Month, dataWizyty.Day, w.GodzOd, w.MinOd, 0);
            kluczDo = new DateTime(dataWizyty.Year, dataWizyty.Month, dataWizyty.Day, w.GodzDo, w.MinDo, 0);
        }
コード例 #4
0
 public bool Equals(Wizyta other)
 {
     if (other == null)
     {
         return(false);
     }
     return(pacj.Equals(other.pacj) && getKlucz().Equals(other.getKlucz()));
 }
コード例 #5
0
 public Wizyta(Wizyta w)
 {
     //konstruktor kopiujący
     pacj         = w.pacj;
     dataWizytyOd = w.DataWizytyOd;
     dataWizytyDo = w.DataWizytyDo;
     opis         = w.opis;
     cena         = w.cena;
 }
コード例 #6
0
        /*
         * private void buttonWyszukaj_Click(object sender, EventArgs e)
         * {
         *  wybrany = null;
         *  kopiaZebowWybranego = null;
         *  wyszukajPoImieniuINazwisku(textBoxImie.Text, textBoxNazwisko.Text);
         * }
         */
        private void buttonZapisz_Click(object sender, EventArgs e)
        {
            int     idWybranegoPacj;
            Pacjent p = null;
            double  cena;

            try
            {
                if (comboBoxId.Items.Count == 0)
                {
                    return;
                }
                if (comboBoxId.Text == "")
                {
                    return;
                }
                if (!int.TryParse(comboBoxId.SelectedItem.ToString(), out idWybranegoPacj))
                {
                    throw new Exception();
                }
                foreach (Pacjent pp in WyszukaniPacjenci)
                {
                    if (pp.Id == idWybranegoPacj)
                    {
                        p = pp;
                        break;
                    }
                }
                if (!double.TryParse(textBoxCena.Text, out cena) || p == null)
                {
                    throw new Exception();
                }
            }
            catch (Exception eree)
            {
                return;
            }
            if (textBoxOpis.Text == "")
            {
                MessageBox.Show("Podaj opis wiyty", "brakujące dane", MessageBoxButtons.OK);
                return;
            }

            DateTime dataWizyty = new DateTime(godzinaOd.Year, godzinaOd.Month, godzinaOd.Day);

            if (kopiaZebowWybranego.Touched)
            {
                p.diagramZebowy = kopiaZebowWybranego;
            }
            Wizyta w = new Wizyta(dataWizyty, godzinaOd.Hour, godzinaOd.Minute, godzinaDo.Hour, godzinaDo.Minute, textBoxOpis.Text, cena, p);

            bufor.ZapiszNaWizyte(dataWizyty, w);
            mainForm.odswiez();
            this.Close();
        }
コード例 #7
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);
        }
コード例 #8
0
        public static Zmiana CzytajZPliku(string sciezka, List <Pacjent> pacjenci, List <Pacjent> pacjenciUsunieci)
        {
            BinaryReader br = new BinaryReader(File.Open(sciezka, FileMode.Open));
            Zmiana       wczytywanaZmiana = new Zmiana(Zmiana.CzytajDateZPliku(br));

            while (br.BaseStream.Position != br.BaseStream.Length)
            {
                //wczytywanie wizyt
                Wizyta wczytanaWizyta = Wizyta.CzytajZPliku(br, pacjenci, pacjenciUsunieci);
                wczytywanaZmiana.DodajWizyte(wczytanaWizyta);
            }
            br.Close();
            wczytywanaZmiana.touched = false;

            return(wczytywanaZmiana);
        }
コード例 #9
0
        private void buttonPokaz_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
            {
                //walidacja
                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;
            }

            Wizyta w = bufor.ZnajdzWizyte(dataWizyty, godzOd, godzDo);

            if (w == null)
            {
                MessageBox.Show("Nie ma zapisanej na te godziny wizyty", "Niepoprawne dane wizyty", MessageBoxButtons.OK);
                return;
            }
            FormZapis fZU = new FormZapis(this, w, false);
            //this.Enabled = false; - zablokowanie formularza głównego w formularzu zapisu
        }
コード例 #10
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;
        }
コード例 #11
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));
        }
コード例 #12
0
        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);
        }
コード例 #13
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);
        }
コード例 #14
0
 internal bool MoznaZapisacNaWizyte(DateTime dataZmiany, Wizyta umowionaWizyta)
 {
     return(MoznaZapisacNaWizyte(dataZmiany, umowionaWizyta.Data, umowionaWizyta.GodzOd, umowionaWizyta.MinOd, umowionaWizyta.GodzDo, umowionaWizyta.MinDo));
 }
コード例 #15
0
        public Wizyta ElementAt(int i)
        {
            Wizyta w = wizyty.ElementAt(i);

            return(new Wizyta(w));
        }