public void wypenijDanymi()
        {
            using (var dc = new EntitiesPrzychodnia()){
                var lekarz = from c in dc.Lekarze
                              where c.ID_Lekarza == this.index
                              select new
                              {
                                  imie = c.imie,
                                  nazwisko = c.nazwisko,
                                  miejsce_ur = c.miejsce_urodzenia,
                                  data_ur = c.data_urodzenia,
                                  id = c.ID_Lekarza,
                                  miescje_zam = c.miejsce_zamieszkania,
                                  adres = c.ulica,
                                  kod_pocztowy = c.kod_pocztowy,
                                  pesel = c.PESEL
                              };

                this.imie.Text = lekarz.First().imie;
                this.nazwisko.Text = lekarz.First().nazwisko;
                this.dtpUrodzenia.Value = (DateTime)lekarz.First().data_ur;
                this.miejsce_ur.Text = lekarz.First().miejsce_ur;
                this.miejsce_zam.Text = lekarz.First().miescje_zam;
                this.ulica.Text = lekarz.First().adres;
                this.kod.Text = lekarz.First().kod_pocztowy;
                this.pesel.Text = lekarz.First().pesel;
            }
        }
Beispiel #2
0
        private void dodajWizyte()
        {
            using (var dc = new EntitiesPrzychodnia())
            {
                var pacjent = from p in dc.Pacjenci
                              where p.PESEL == this.pacjenciPESEL.Text
                              select new
                              {
                                  id = p.ID_Pacjenta
                              };

                var lekarz = from l in dc.Lekarze
                             where l.PESEL == this.lekarzePESEL.Text
                             select new
                             {
                                 id = l.ID_Lekarza
                             };

                var wizyta = new Wizyty();
                wizyta.czas = new TimeSpan(czas.Value.TimeOfDay.Hours, czas.Value.TimeOfDay.Minutes, 00);
                wizyta.data = data.Value;
                wizyta.ID_Lekarza = lekarz.First().id;
                wizyta.ID_Pacjenta = pacjent.First().id;

                try
                {
                    dc.Wizyty.Add(wizyta);
                    dc.SaveChanges();
                }
                catch { }
            }
        }
Beispiel #3
0
        private void Ulotka_Load(object sender, EventArgs e)
        {
            using (var dc = new EntitiesPrzychodnia())
            {
                var lekarstwo = from s in dc.Lekarstwa
                                where s.ID_Lekarstwa == this.id
                                select new
                                {
                                    lek_nazwa = s.nazwa,
                                    lek_ulotka = s.ulotka
                                };
                string ulotka = lekarstwo.First().lek_ulotka;
                if (!String.IsNullOrEmpty(ulotka))
                {
                    XElement ulotka_xml = XElement.Parse(ulotka);
                    try
                    {
                        nazwa.Text = lekarstwo.First().lek_nazwa;
                        if (ulotka_xml.Element("dawkowanie").Value != null)
                            dawkowanie.AppendText(ulotka_xml.Element("dawkowanie").Value);

                        if (ulotka_xml.Element("podmiot").Value != null)
                            podmiot.Text = ulotka_xml.Element("podmiot").Value;

                        if (ulotka_xml.Element("przeciwwskazania").Value != null)
                            foreach (var element in ulotka_xml.Element("przeciwwskazania").Elements())
                                przeciwwskazania.Text += "\t• " + (element.Value.ToString() + Environment.NewLine);

                        if (ulotka_xml.Element("sklad").Value != null)
                            foreach (var element in ulotka_xml.Element("sklad").Elements())
                                sklad.Text += "\t• " + (element.Value.ToString() + Environment.NewLine);

                        if (ulotka_xml.Element("zalecenia").Value != null)
                            foreach (var element in ulotka_xml.Element("zalecenia").Elements())
                                zalecenia.Text += "\t• " + (element.Value.ToString() + Environment.NewLine);

                        if (ulotka_xml.Element("niepozadane").Value != null)
                            foreach (var element in ulotka_xml.Element("niepozadane").Elements())
                                niepozadane.Text += "\t• " + (element.Value.ToString() + Environment.NewLine);

                        if (ulotka_xml.Element("opakowania").Value != null)
                            foreach (var element in ulotka_xml.Element("opakowania").Elements())
                                opakowania.Text += "\t• " + (element.Value.ToString() + Environment.NewLine);

                    }
                    catch
                    {
                        MessageBox.Show("Ulotka zawiera niepoprawny XML (np. brakuje któregoś z pól)");
                    }
                }

            }
        }
 public void wypenijDanymiSpecjalnosci()
 {
     using (var dc = new EntitiesPrzychodnia())
     {
         var specjalnosci = from s in dc.Specjalnosci
                            select new
                            {
                                specjalnosc = s.nazwa
                            };
         foreach (var spec in specjalnosci)
             cbSpecjalnosci.Items.Add(spec.specjalnosc);
     }
 }
        private void PrzelozWizyte_Load(object sender, EventArgs e)
        {
            using (var dc = new EntitiesPrzychodnia())
            {
                var wizyta = from w in dc.Wizyty
                             where w.ID_Wizyty == id
                             select w;
                Console.WriteLine(id);
                data.Value = (DateTime)wizyta.First().data;
                godzina.Value = Convert.ToDateTime(wizyta.First().czas.ToString());

            }
        }
Beispiel #6
0
 public void wyswietlChoroby()
 {
     using (var dc = new EntitiesPrzychodnia())
         {
             var choroby = from s in dc.Choroby
                           select new
                           {
                               ch_id = s.ID_Choroby,
                               ch_nazwa = s.nazwa,
                               ch_opis = s.opis
                           };
             dgvChoroby.DataSource = choroby.ToList();
         }
 }
 public void wypenijDanymiLekarze()
 {
     using (var dc = new EntitiesPrzychodnia())
     {
         var lekarze = from l in dc.Lekarze
                            select new
                            {
                                imie = l.imie,
                                nazwisko = l.nazwisko
                            };
         foreach (var lekarz in lekarze)
             cbSpecjalnosci.Items.Add(lekarz.imie +" "+lekarz.nazwisko);
     }
 }
Beispiel #8
0
 void chorobyILiczbaIchDiagnoz()
 {
     using (var dc = new EntitiesPrzychodnia())
     {
         var query = from ch in dc.Choroby
                     join d in dc.Diagnozy on ch.ID_Choroby equals d.ID_Choroby
                     group ch by new {ch.ID_Choroby, ch.nazwa} into g
                     orderby g.Key.nazwa ascending
                     select new {
                         nazwa_choroby = g.Key.nazwa,
                         liczba = g.Count()
                     };
         output.DataSource = query.ToList();
     }
 }
Beispiel #9
0
 public void wyswietlLekarstwa()
 {
     using (var dc = new EntitiesPrzychodnia())
     {
         var lekarstwo = from s in dc.Lekarstwa
                             select new
                             {
                                 lek_id = s.ID_Lekarstwa,
                                 lek_nazwa = s.nazwa,
                                 lek_cena = s.cena,
                                 lek_ulotka = s.ulotka
                             };
         dgvLekarstwa.DataSource = lekarstwo.ToList();
     }
 }
Beispiel #10
0
        private void przelozWizyte()
        {
            using (var dc = new EntitiesPrzychodnia())
            {
                var wizyta = from w in dc.Wizyty
                             where w.ID_Wizyty == id
                             select w;

                wizyta.First().data = nowaData.Value;
                wizyta.First().czas = new TimeSpan(nowaGodzina.Value.TimeOfDay.Hours, nowaGodzina.Value.TimeOfDay.Minutes, 00);
                try
                {
                    dc.SaveChanges();
                }
                catch (Exception e) { }
            }
        }
Beispiel #11
0
 void lekarzeZNajwiekszaLiczbaPacjentow()
 {
     using (var dc = new EntitiesPrzychodnia())
     {
         var query = from l in dc.Lekarze
                     join w in dc.Wizyty on l.ID_Lekarza equals w.ID_Lekarza
                     join p in dc.Pacjenci on w.ID_Pacjenta equals p.ID_Pacjenta
                     group l by new {l.ID_Lekarza, l.imie, l.nazwisko} into g
                     orderby g.Count() descending
                     select new
                     {
                         imie_lekarza = g.Key.imie,
                         nazwisko_lekarza = g.Key.nazwisko,
                         liczba = g.Count()
                     };
         output.DataSource = query.ToList();
     }
 }
Beispiel #12
0
 // Wyswietl lekarzy w data grid view
 public void wyswietlLekarzy()
 {
     using (var dc = new EntitiesPrzychodnia())
         {
             var lekarze = from c in dc.Lekarze
                           select new
                           {
                               imie = c.imie,
                               nazwisko = c.nazwisko,
                               miejsce_ur = c.miejsce_urodzenia,
                               data_ur = c.data_urodzenia,
                               id = c.ID_Lekarza,
                               miescje_zam = c.miejsce_zamieszkania,
                               adres = c.ulica,
                               kod_pocztowy = c.kod_pocztowy
                           };
             dgvLekarze.DataSource = lekarze.ToList();
         }
         ustawStatus(dgvLekarze);
 }
 public void wypenijDanymiPacjentow()
 {
     using (var dc = new EntitiesPrzychodnia())
     {
         var pacjenci = from w in dc.Wizyty
                      where w.ID_Lekarza == this.index
                      join p in dc.Pacjenci on w.ID_Pacjenta equals p.ID_Pacjenta
                      orderby w.data descending, w.czas descending
                      select new
                      {
                          p_imie = p.imie,
                          p_nazwisko = p.nazwisko,
                          p_data_ur = p.data_urodzenia,
                          ppesel = p.PESEL,
                          p_ulica = p.ulica,
                          p_miejsce_ur = p.miejsce_urodzenia,
                          p_adres = p.miejsce_zamieszkania,
                          p_kod = p.kod_pocztowy
                      };
         dgvPacjenci.DataSource = pacjenci.ToList();
     }
 }
Beispiel #14
0
        void lekarzeWypisujacyNajdrozszeLeki()
        {
            using (var dc = new EntitiesPrzychodnia())
            {
                /*
                 *  Wybieramy 10 najdroższych leków, a następnie szukamy lekarzy, którzy wypisali na nie recepty
                 *
                 * SQL:
                 * select l.Imie, l.Nazwisko, le.nazwa, le.cena
                 *      from Lekarze l
                 *      join Wizyty w on l.ID_Lekarza = w.ID_Lekarza
                 *      join Recepty r on w.ID_Wizyty = r.ID_Wizyty
                 *      join Lekarstwa le on r.ID_Lekarstwa = le.ID_Lekarstwa
                 *          where le.ID_Lekarstwa in
                 *                  (select Top 10 ID_Lekarstwa from Lekarstwa order by cena DESC);
                 *
                 */
                var subquery = from le in dc.Lekarstwa
                               orderby le.cena descending
                               select le;

                var query = from l in dc.Lekarze
                            join w in dc.Wizyty on l.ID_Lekarza equals w.ID_Lekarza
                            join r in dc.Recepty on w.ID_Wizyty equals r.ID_Wizyty
                            join le in dc.Lekarstwa on r.ID_Lekarstwa equals le.ID_Lekarstwa
                            where subquery.Take(10).Contains(le)
                            orderby le.cena descending
                            select new
                            {
                                imie_lekarza = l.imie,
                                nazwisko_lekarza = l.nazwisko,
                                nazwa_leku = le.nazwa,
                                cena_leku = le.cena
                            };

                output.DataSource = query.ToList();
            }
        }
 public void wypenijDanymiSpecjalnosci()
 {
     using (var dc = new EntitiesPrzychodnia())
     {
         var specjalnosci = from ls in dc.LekarzSpecjalnosc
                            join s in dc.Specjalnosci on ls.ID_Specjalnosci equals s.ID_Specjalnosci
                            where ls.ID_Lekarza == this.index
                            select new
                            {
                                specjalnosc = s.nazwa,
                                data_nad = ls.data_nadania,
                                id = s.ID_Specjalnosci
                            };
         dgvSpecjalnosci.DataSource = specjalnosci.ToList();
     }
 }
Beispiel #16
0
        private void wczytajDaneLekarzy(string nazwisko = "", string imie = "")
        {
            using (var dc = new EntitiesPrzychodnia())
            {
                var lekarze = from c in dc.Lekarze
                              select new
                              {
                                  imie = c.imie,
                                  nazwisko = c.nazwisko,
                                  pesel = c.PESEL
                              };

                if (!String.IsNullOrEmpty(nazwisko))
                    lekarze = lekarze.Where(l => l.nazwisko == nazwisko);
                if (!String.IsNullOrEmpty(imie))
                    lekarze = lekarze.Where(l => l.imie == imie);

                List<String> imiona = new List<String>();
                List<String> nazwiska = new List<String>();
                List<String> pesele = new List<String>();
                foreach (var lekarz in lekarze)
                {
                    if (!imiona.Contains(lekarz.imie))
                        imiona.Add(lekarz.imie);

                    if (!nazwiska.Contains(lekarz.nazwisko))
                        nazwiska.Add(lekarz.nazwisko);

                    if (!pesele.Contains(lekarz.pesel))
                        pesele.Add(lekarz.pesel);
                }

                imiona.Sort();
                nazwiska.Sort();
                pesele.Sort();
                pesele.Distinct();

                if (String.IsNullOrEmpty(imie))
                {
                    lekarzImie.Items.Clear();
                    lekarzImie.Items.AddRange(imiona.ToArray());
                }

                if (lekarzImie.Items.Count == 1)
                    lekarzImie.SelectedIndex = 0;

                if (String.IsNullOrEmpty(nazwisko))
                    lekarzNazwisko.Items.AddRange(nazwiska.ToArray());

                lekarzePESEL.Items.Clear();
                lekarzePESEL.Items.AddRange(pesele.ToArray());
                if (lekarzePESEL.Items.Count == 1)
                    lekarzePESEL.SelectedIndex = 0;

            }
        }
Beispiel #17
0
        private void wczytajDanePacjentow(string nazwisko = "", string imie = "")
        {
            using (var dc = new EntitiesPrzychodnia())
            {
                var pacjenci = from c in dc.Pacjenci
                              select new
                              {
                                  imie = c.imie,
                                  nazwisko = c.nazwisko,
                                  pesel = c.PESEL
                              };

                if (!String.IsNullOrEmpty(nazwisko))
                    pacjenci = pacjenci.Where(l => l.nazwisko == nazwisko);
                if (!String.IsNullOrEmpty(imie))
                    pacjenci = pacjenci.Where(l => l.imie == imie);

                List<String> imiona = new List<String>();
                List<String> nazwiska = new List<String>();
                List<String> pesele = new List<String>();
                foreach (var pacjent in pacjenci)
                {
                    if (!imiona.Contains(pacjent.imie))
                        imiona.Add(pacjent.imie);

                    if (!nazwiska.Contains(pacjent.nazwisko))
                        nazwiska.Add(pacjent.nazwisko);

                    if (!pesele.Contains(pacjent.pesel))
                        pesele.Add(pacjent.pesel);
                }

                imiona.Sort();
                nazwiska.Sort();
                pesele.Sort();

                pacjenciPESEL.Items.Clear();
                if (String.IsNullOrEmpty(imie))
                {

                    pacjentImie.Items.Clear();
                    pacjentImie.Items.AddRange(imiona.ToArray());
                }

                if (pacjentImie.Items.Count == 1)
                    pacjentImie.SelectedIndex = 0;

                if (String.IsNullOrEmpty(nazwisko))
                    pacjentNazwisko.Items.AddRange(nazwiska.ToArray());

                pacjenciPESEL.Items.AddRange(pesele.ToArray());
                if (pacjenciPESEL.Items.Count == 1)
                    pacjenciPESEL.SelectedIndex = 0;

            }
        }
Beispiel #18
0
        void pacjentkiZbytCzestoOdwiedzajaceLekarzy()
        {
            using (var dc = new EntitiesPrzychodnia())
            {

                var wynik = dc.Database.SqlQuery<int>("exec SredniaWizytPacjentekULekarza");
                int srednia = 1;
                if (wynik.Count() == 1)
                    srednia = wynik.ElementAt(0);

                var query = from l in dc.Lekarze
                            join w in dc.Wizyty on l.ID_Lekarza equals w.ID_Lekarza
                            join p in dc.Pacjenci on w.ID_Pacjenta equals p.ID_Pacjenta
                            where l.plec == "m" && p.plec == "k"
                            group new { l, p } by new {
                                    l.ID_Lekarza,
                                    imie_lekarza = l.imie,
                                    nazwisko_lekarza = l.nazwisko,
                                    p.ID_Pacjenta,
                                    imie_pacjenta = p.imie,
                                    nazwisko_pacjenta = p.nazwisko
                                } into g
                            let liczba_odwiedzin = g.Count()
                            where liczba_odwiedzin > srednia
                            orderby liczba_odwiedzin descending
                            select new
                            {
                                imie_lekarza = g.Key.imie_lekarza,
                                nazwisko_lekarza = g.Key.nazwisko_lekarza,
                                imie_pacjenta  = g.Key.imie_pacjenta,
                                nazwisko_pacjenta = g.Key.nazwisko_pacjenta,
                                suma = g.Count()
                            };
                output.DataSource = query.ToList();
            }
        }
Beispiel #19
0
        private void konstuujFiltrLekarzy()
        {
            using (var dc = new EntitiesPrzychodnia())
                {
                    if ((string)cbLekarzeSpecjalnosc.SelectedItem == "Dowolna"){
                        konstruujFiltryLekarzyBezSpecjalnosci(dc);
                    }

                    if ((string)cbLekarzeSpecjalnosc.SelectedItem != "Dowolna" || cbLekarzeSpecjalnosci.Checked){
                        konstruujFiltryLekarzyZeSpecjalnoscia(dc);
                    }
                }
        }
Beispiel #20
0
        private void dodajPacjenta()
        {
            using (var dc = new EntitiesPrzychodnia())
            {
                var pacjent = new Pacjenci();
                pacjent.imie = imie.Text;
                pacjent.nazwisko = nazwisko.Text;

                try
                {
                    pacjent.data_urodzenia = this.dtpUrodzenia.Value;
                }
                catch
                {
                    MessageBox.Show("Błędny format daty - spróbuj jescze raz!");
                }
                pacjent.miejsce_urodzenia = miejsce_ur.Text;
                pacjent.miejsce_zamieszkania = miejsce_zam.Text;
                pacjent.PESEL = pesel.Text;
                pacjent.ulica = ulica.Text;
                pacjent.kod_pocztowy = kod.Text;
                pacjent.plec = (pacjent.imie.Substring(pacjent.imie.Length - 1, 1) == "a" ? "k" : "m");
                try
                {
                    dc.Pacjenci.Add(pacjent);
                    dc.SaveChanges();
                }
                catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)
                {
                    foreach (var validationErrors in dbEx.EntityValidationErrors)
                    {
                        foreach (var validationError in validationErrors.ValidationErrors)
                        {
                            Console.WriteLine("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
                        }
                    }
                }
                catch
                {
                    MessageBox.Show("Nie udało się dodać rekordu");
                }
            }
        }
Beispiel #21
0
        void najpopularniejszeChorobyWedlugMiesiecy()
        {
            /*
             * SQL:
             *      select ch.nazwa, month(w.data) as 'miesiac', count(*) as 'liczba diagnoz'
             *          from Diagnozy d
             *          join Wizyty w on d.ID_Wizyty = w.ID_Wizyty
             *          join Choroby ch on d.ID_Choroby = ch.ID_Choroby
             *              group by ch.ID_Choroby, ch.nazwa, MONTH(w.data)
             */
            using (var dc = new EntitiesPrzychodnia())
            {
                string[] miesiace = { "Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Pazdźiernik", "Listopad", "Grudzień" };
                var query = from ch in dc.Choroby
                            join d in dc.Diagnozy on ch.ID_Choroby equals d.ID_Choroby
                            join w in dc.Wizyty on d.ID_Wizyty equals w.ID_Wizyty
                            group new {ch, w} by new { ch.ID_Choroby, ch.nazwa, w.data.Value.Month} into g
                            orderby g.Key.nazwa ascending, g.Key.Month ascending
                            select new
                            {
                                nazwa_choroby = g.Key.nazwa,
                                miesiac = g.Key.Month,
                                suma = g.Count()
                            };

                output.DataSource = query.ToList();
            }
        }
 public void wypenijDanymiWizyty()
 {
     using (var dc = new EntitiesPrzychodnia())
     {
         var wizyty = from w in dc.Wizyty
                            where w.ID_Lekarza == this.index
                            join p in dc.Pacjenci on w.ID_Pacjenta equals p.ID_Pacjenta
                            orderby w.data descending , w.czas descending
                            select new
                            {
                                data = w.data,
                                wgodzina = w.czas,
                                wimie = p.imie,
                                wnazwisko = p.nazwisko,
                                odbyta = w.czy_odbyta
                            };
         dgvWizyty.DataSource = wizyty.ToList();
     }
 }
Beispiel #23
0
        private void konstruujFiltryLekarzyZeSpecjalnoscia(EntitiesPrzychodnia dc)
        {
            var query = from l in dc.Lekarze
                            join ls in dc.LekarzSpecjalnosc on l.ID_Lekarza equals ls.ID_Lekarza into a
                            from ls in a.DefaultIfEmpty()
                            join s in dc.Specjalnosci on ls.ID_Specjalnosci equals s.ID_Specjalnosci into b
                            from s in b.DefaultIfEmpty()
                            select new
                            {
                                specjalnosc = s.nazwa,
                                imie = l.imie,
                                nazwisko = l.nazwisko,
                                miejsce_ur = l.miejsce_urodzenia,
                                data_ur = l.data_urodzenia,
                                id = l.ID_Lekarza,
                                miescje_zam = l.miejsce_zamieszkania,
                                adres = l.ulica,
                                kod_pocztowy = l.kod_pocztowy
                            };
                if ((string)cbLekarzeImie.SelectedItem != "Dowolne")
                    query = query.Where(l => (string)l.imie == (string)cbLekarzeImie.SelectedItem);

                if ((string)cbLekarzeNazwisko.SelectedItem != "Dowolne")
                    query = query.Where(l => (string)l.nazwisko == (string)cbLekarzeNazwisko.SelectedItem);

                if ((string)cbLekarzeMiasto.SelectedItem != "Dowolne")
                    query = query.Where(l => (string)l.miescje_zam == (string)cbLekarzeMiasto.SelectedItem);

                if ((string)cbLekarzeSpecjalnosc.SelectedItem != "Dowolna")
                {
                    query = query.Where(s => (string)s.specjalnosc == (string)cbLekarzeSpecjalnosc.SelectedItem);
                }
                if ((string)cbLekarzeWiek.SelectedItem != "Dowolny")
                {
                    string value = (string)cbLekarzeWiek.SelectedItem;
                    if (value == "Powyżej")
                    {
                        query = query.Where(l => DateTime.Now.Year - l.data_ur.Value.Year >= 101);
                    }
                    else
                    {
                        try
                        {
                            var split = value.Split('-');
                            int dol = Convert.ToInt32(split[0]);
                            int gora = Convert.ToInt32(split[1]);
                            query = query.Where(l => DateTime.Now.Year - l.data_ur.Value.Year >= dol);
                            query = query.Where(l => DateTime.Now.Year - l.data_ur.Value.Year <= gora);
                        }
                        catch
                        {
                            MessageBox.Show("Nie udało się rozbić wieku na dwie liczby");
                        }
                    }
                }
                var lista = query.ToList();
                lista.Distinct();
                dgvLekarze.DataSource = lista;
        }
        private void button_Click(object sender, EventArgs e)
        {
            if (szczegoly) {
                using (var dc = new EntitiesPrzychodnia()){
                    var lekarz = dc.Lekarze.Single(p => p.ID_Lekarza == index);

                    lekarz.imie = imie.Text;
                    lekarz.nazwisko = nazwisko.Text;
                    lekarz.data_urodzenia = this.dtpUrodzenia.Value;
                    lekarz.miejsce_urodzenia = miejsce_ur.Text;
                    lekarz.miejsce_zamieszkania = miejsce_zam.Text;
                    lekarz.PESEL = pesel.Text;
                    lekarz.ulica = ulica.Text;
                    lekarz.kod_pocztowy = kod.Text;
                    button.Enabled = true;
                    try{
                        dc.SaveChanges();
                    }
                    catch{
                        MessageBox.Show("Nie udało się zaktualizować rekordu");
                    }
                }
            }
            else{
                using (var dc = new EntitiesPrzychodnia()){
                    var lekarz = new Lekarze();
                    lekarz.imie = imie.Text;
                    lekarz.nazwisko = nazwisko.Text;

                    try
                    {
                        lekarz.data_urodzenia = this.dtpUrodzenia.Value;
                    }
                    catch
                    {
                        MessageBox.Show("Błędny format daty - spróbuj jescze raz!");
                    }
                    lekarz.miejsce_urodzenia = miejsce_ur.Text;
                    lekarz.miejsce_zamieszkania = miejsce_zam.Text;
                    lekarz.PESEL = pesel.Text;
                    lekarz.ulica = ulica.Text;
                    lekarz.kod_pocztowy = kod.Text;
                    lekarz.plec = (lekarz.imie.Substring(lekarz.imie.Length-1,1) == "a" ? "k" : "m") ;

                    try
                    {
                        dc.Lekarze.Add(lekarz);
                        dc.SaveChanges();
                    }
                    catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)
                    {
                        foreach (var validationErrors in dbEx.EntityValidationErrors)
                        {
                            foreach (var validationError in validationErrors.ValidationErrors)
                            {
                                    Console.WriteLine("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
                            }
                        }
                    }
                    catch
                    {
                        MessageBox.Show("Nie udało się dodać rekordu");
                    }
                }
            }
            this.Close();
        }
Beispiel #25
0
        private void KonstruujFiltryPacjentowZLekarzem(EntitiesPrzychodnia dc)
        {
            var query = from p in dc.Pacjenci
                        join w in dc.Wizyty on p.ID_Pacjenta equals w.ID_Pacjenta into a
                        from w in a.DefaultIfEmpty()
                        join l in dc.Lekarze on w.ID_Lekarza equals l.ID_Lekarza into b
                        from l in b.DefaultIfEmpty()
                        select new
                        {
                            p_lekarz = l.nazwisko + " " + l.imie,
                            p_imie = p.imie,
                            p_nazwisko = p.nazwisko,
                            p_miejsce_urodzenia = p.miejsce_urodzenia,
                            p_data = p.data_urodzenia,
                            p_id = p.ID_Pacjenta,
                            p_miasto = p.miejsce_zamieszkania,
                            p_adres = p.ulica,
                            p_kod = p.kod_pocztowy
                        };

            if ((string)cbPacjenciImie.SelectedItem != "Dowolne")
                query = query.Where(p => (string)p.p_imie == (string)cbPacjenciImie.SelectedItem);

            if ((string)cbPacjenciNazwisko.SelectedItem != "Dowolne")
                query = query.Where(p => (string)p.p_nazwisko == (string)cbPacjenciNazwisko.SelectedItem);

            if ((string)cbPacjenciMiasto.SelectedItem != "Dowolne")
                query = query.Where(p => (string)p.p_miasto == (string)cbPacjenciMiasto.SelectedItem);

            if ((string)cbPacjenciLekarz.SelectedItem != "Dowolny")
            {
                query = query.Where(l => (string)l.p_lekarz == (string)cbPacjenciLekarz.SelectedItem);
                dgvPacjenci.Columns["p_lekarz"].Visible = true;
            }
            else
                dgvPacjenci.Columns["p_lekarz"].Visible = false;

            if ((string)cbPacjenciWiek.SelectedItem != "Dowolny")
            {
                string value = (string)cbPacjenciWiek.SelectedItem;
                if (value == "Powyżej")
                {
                    query = query.Where(p => DateTime.Now.Year - p.p_data.Value.Year >= 101);
                }
                else
                {
                    try
                    {
                        var split = value.Split('-');
                        int dol = Convert.ToInt32(split[0]);
                        int gora = Convert.ToInt32(split[1]);
                        query = query.Where(p => DateTime.Now.Year - p.p_data.Value.Year >= dol);
                        query = query.Where(p => DateTime.Now.Year - p.p_data.Value.Year <= gora);
                    }
                    catch
                    {
                        MessageBox.Show("Nie udało się rozbić wieku na dwie liczby");
                    }
                }
            }
            try
            {
                dgvPacjenci.Columns["p_lekarz"].Visible = true;
                dgvPacjenci.DataSource = query.ToList();
            }
            catch{}
        }
        private void usunSpecjalizacje(int id)
        {
            using (var dc = new EntitiesPrzychodnia())
            {
                var specjalizacja = from ls in dc.LekarzSpecjalnosc
                                    where ls.ID_Specjalnosci == id && ls.ID_Lekarza == this.index
                                    select ls;

                dc.LekarzSpecjalnosc.RemoveRange(specjalizacja);
                try
                {
                    dc.SaveChanges();
                }
                catch { }
            }
        }
        private void dodaj_button_Click(object sender, EventArgs e)
        {
            this.Close();
            if (lekarz)
            {

            }
            else
            {
                using (var dc = new EntitiesPrzychodnia())
                {
                    var specjalnosci = from s in dc.Specjalnosci
                                       where s.nazwa == cbSpecjalnosci.Text
                                       select new
                                       {
                                           id = s.ID_Specjalnosci
                                       };
                    int id_specjalnosci = specjalnosci.First().id;
                    var lekarzSpecjalnosc = new LekarzSpecjalnosc();
                    lekarzSpecjalnosc.ID_Lekarza = index;
                    lekarzSpecjalnosc.ID_Specjalnosci = id_specjalnosci;
                    lekarzSpecjalnosc.data_nadania = dataPicker.Value;
                    try
                    {
                        dc.LekarzSpecjalnosc.Add(lekarzSpecjalnosc);
                        dc.SaveChanges();
                    }
                    catch {}
                }
            }
        }
Beispiel #28
0
        void lekarzeZNajwiekszaSumaLekow()
        {
            using (var dc = new EntitiesPrzychodnia())
            {
                var query = from l in dc.Lekarze
                              join w in dc.Wizyty on l.ID_Lekarza equals w.ID_Lekarza
                              join r in dc.Recepty on w.ID_Wizyty equals r.ID_Wizyty
                              join le in dc.Lekarstwa on r.ID_Lekarstwa equals le.ID_Lekarstwa
                              group new {l, le} by new {l.ID_Lekarza, l.imie, l.nazwisko } into g
                              let suma = g.Sum(x => x.le.cena)
                              orderby suma descending
                              select new
                              {
                                  imie_lekarza = g.Key.imie,
                                  nazwisko_lekarza = g.Key.nazwisko,
                                  suma = g.Sum(wynik => wynik.le.cena)
                              };
                output.DataSource = query.ToList();

            }
        }
Beispiel #29
0
 void lekarzeZSumaReceptWiekszaNizSrednia()
 {
     using (var dc = new EntitiesPrzychodnia())
     {
         var query = from l in dc.Lekarze
                     join w in dc.Wizyty on l.ID_Lekarza equals w.ID_Lekarza
                     join r in dc.Recepty on w.ID_Wizyty equals r.ID_Wizyty
                     join le in dc.Lekarstwa on r.ID_Lekarstwa equals le.ID_Lekarstwa
                     group new { l, le } by new { l.ID_Lekarza, l.imie, l.nazwisko } into g
                     let suma = g.Sum(x => x.le.cena)
                     let srednia = g.Average(x=>x.le.cena)
                     orderby suma descending
                     where suma > srednia
                     select new
                     {
                         imie_lekarza = g.Key.imie,
                         nazwisko_lekarza = g.Key.nazwisko,
                         suma = g.Sum(wynik => wynik.le.cena),
                         srednia = g.Average(wynik => wynik.le.cena),
                         roznica = suma - srednia
                     };
         output.DataSource = query.ToList();
     }
 }
Beispiel #30
0
        private void edytujPacjenta()
        {
            using (var dc = new EntitiesPrzychodnia())
            {
                var pacjent = dc.Pacjenci.Single(p => p.ID_Pacjenta == index);

                pacjent.imie = imie.Text;
                pacjent.nazwisko = nazwisko.Text;
                pacjent.data_urodzenia = this.dtpUrodzenia.Value;
                pacjent.miejsce_urodzenia = miejsce_ur.Text;
                pacjent.miejsce_zamieszkania = miejsce_zam.Text;
                pacjent.PESEL = pesel.Text;
                pacjent.ulica = ulica.Text;
                pacjent.kod_pocztowy = kod.Text;
                try
                {
                    dc.SaveChanges();
                }
                catch
                {
                    MessageBox.Show("Nie udało się zaktualizować rekordu");
                }
            }
        }