Пример #1
0
        public void removeScheduledOperationsForDoctor(DoctorUser doctor)
        {
            List <Operation> listOfOperations = operationRepository.GetAll();

            foreach (Operation operation in listOfOperations)
            {
                if (isDoctorResposableForOperation(doctor, operation))
                {
                    listOfOperations.Remove(operation);
                }
            }
        }
        private void Zakazi_click(object sender, RoutedEventArgs e)
        {
            String b = bingPathToAppDir(@"JsonFiles\appointments.json");
            String c = bingPathToAppDir(@"JsonFiles\refferal.json");
            String d = bingPathToAppDir(@"JsonFiles\patients.json");
            String m = bingPathToAppDir(@"JsonFiles\doctors.json");


            PatientsRepository patientRepo  = new PatientsRepository(d);
            List <PatientUser> patientLista = patientRepo.GetAll();

            PatientUser ovajPacijent = new PatientUser();

            foreach (PatientUser r1 in patientLista)
            {
                if (r1.medicalIdNumber.Equals(KnjizicaBox.Text.ToString()))
                {
                    ovajPacijent     = r1;
                    KnjizicaBox.Text = r1.medicalIdNumber;
                }
            }



            DoctorRepository  docRepo = new DoctorRepository(m);
            List <DoctorUser> doktori = docRepo.GetAll();
            DoctorUser        drOvaj  = new DoctorUser();

            foreach (DoctorUser d1 in doktori)
            {
                if (d1.email.Equals(emailLekarBox.Text.ToString()))
                {
                    drOvaj = d1;
                }
            }
            if (!Regex.Match(Time1Box.Text, "^[0-9]{2}:[0-9]{2}$").Success || !Regex.Match(Time2Box.Text, "^[0-9]{2}:[0-9]{2}$").Success)
            {
                MessageBox.Show("Vreme mora biti u formatu 00:00", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            String[] startParts    = Time1Box.Text.Split(':');
            String[] endParts      = Time2Box.Text.Split(':');
            int      startIntPart1 = int.Parse(startParts[0]);
            int      startIntPart2 = int.Parse(startParts[1]);
            int      ensIntPart1   = int.Parse(endParts[0]);
            int      endtIntPart2  = int.Parse(endParts[1]);


            if (startIntPart1 > 23 || startIntPart2 > 60 || ensIntPart1 > 23 || endtIntPart2 > 60 || startIntPart1 > ensIntPart1)
            {
                MessageBox.Show("Najveca vrednost za vreme je 23:59", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            TimeSpan vremee  = new TimeSpan(startIntPart1, startIntPart2, 00);
            TimeSpan vremee2 = new TimeSpan(ensIntPart1, endtIntPart2, 00);

            int broj = getNextid();

            DoctorAppointment drap = new DoctorAppointment(broj, vremee, DatumBox.Text.ToString(), ovajPacijent, drOvaj, null, ordinacijaBox.Text);

            AppointmentRepository    arepo  = new AppointmentRepository(b);
            List <DoctorAppointment> lista2 = new List <DoctorAppointment>();
            PatientController        regPat = new PatientController();
            List <PatientUser>       pac    = new List <PatientUser>();

            pac = regPat.GetAll();
            if (arepo.GetAll() != null)
            {
                lista2 = arepo.GetAll();
            }


            String    o     = bingPathToAppDir(@"JsonFiles\operations.json");
            int       broj1 = getNextid1();
            Operation op    = new Operation(broj1, ovajPacijent, DatumBox.Text.ToString(), vremee, vremee2, drOvaj, ordinacijaBox.Text, null);

            OperationRepository opRep  = new OperationRepository(o);
            List <Operation>    lista3 = new List <Operation>();

            if (opRep.GetAll() != null)
            {
                lista3 = opRep.GetAll();
            }

            if (pregled == true)
            {
                String   datum   = DatumBox.Text;
                String[] delovi2 = datum.Split('/');
                int      mesec   = int.Parse(delovi2[1]);
                int      dan     = int.Parse(delovi2[0]);
                int      godina  = int.Parse(delovi2[2]);

                DateTime dt1 = new DateTime(godina, mesec, dan, 0, 0, 0);

                DateTime dt2 = DateTime.Now;

                if (dt1 < dt2)
                {
                    MessageBox.Show("Molimo vas da unesete datum koji tek predstoji", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }
                String x = bingPathToAppDir(@"JsonFiles\appointments.json");
                AppointmentRepository    apc           = new AppointmentRepository(x);
                List <DoctorAppointment> listaPregleda = apc.GetAll();


                /* foreach (DoctorAppointment dd in listaPregleda)
                 * {
                 *   DoctorUser dr = dd.doctor;
                 *   if (dr.id == drOvaj.id)
                 *   {
                 *       if (dd.Date.Equals(DatumBox.Text))
                 *       {
                 *           TimeSpan krajPr = dd.Time + new TimeSpan(0, 15, 0);
                 *           int result = TimeSpan.Compare(vremee, dd.Time);
                 *           int result1 = TimeSpan.Compare(vremee, krajPr);
                 *           if ((result == 1 && result1 == -1) || result == 0)
                 *           {
                 *               MessageBox.Show("Izvinjavamo se! Trazeni termin je vec zauzet!", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);
                 *               return;
                 *           }
                 *       }
                 *
                 *
                 *
                 *
                 *   }
                 * }*/
                /*  String pre = bingPathToAppDir(@"JsonFiles\operations.json");
                 * OperationRepository apc1 = new OperationRepository(pre);
                 * List<Operation> listaPregleda1 = apc1.GetAll();
                 * foreach (Operation dd in listaPregleda1)
                 * {
                 *    DoctorUser dr = dd.isResponiable;
                 *    if (dr.id == drOvaj.id)
                 *    {
                 *        if (dd.Date.Equals(DatumBox.Text))
                 *        {
                 *            int result = TimeSpan.Compare(vremee, dd.Start);
                 *            int result1 = TimeSpan.Compare(vremee, dd.End);
                 *            if ((result == 1 && result1 == -1)||result==0 ||result1==0)
                 *            {
                 *
                 *                MessageBox.Show("Izvinjavamo se! Trazeni termin je vec zauzet!", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);
                 *                return;
                 *            }
                 *
                 *        }
                 *
                 *
                 *
                 *
                 *    }
                 * }*/



                EmployeesScheduleController schCon         = new EmployeesScheduleController();
                List <Schedule>             listaRasporeda = schCon.GetAll();
                Shift smena = schCon.getShiftForDoctorForSpecificDay(DatumBox.Text, drOvaj);
                if (smena == null || smena.startTime == null || smena.endTime == null)
                {
                    MessageBox.Show("Trazeni termin nije dostupan.Lekar ne radi tog dana.", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);

                    return;
                }
                AppointmentController appointmentController = new AppointmentController();
                Boolean notAvaible = appointmentController.isTermNotAvailable(drOvaj, vremee, DatumBox.Text, ovajPacijent);
                if (notAvaible == true)
                {
                    MessageBox.Show("Izvinjavamo se! Trazeni termin je vec zauzet!", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }

                /* foreach (Schedule s in listaRasporeda)
                 * {
                 *
                 *   if (s.employeeid.Equals(drOvaj.id.ToString()))
                 *   {
                 *       if (s.Date.Equals(DatumBox.Text))
                 *       {
                 *           smena = s.shift;
                 *       }
                 *   }
                 * }
                 * if(smena.StartTime==null || smena.EndTime == null)
                 * {
                 *
                 * }*/

                bool slobodan = schCon.isDoctorWorkingAtSpecifiedTime(DatumBox.Text, drOvaj, vremee);
                if (slobodan == false)
                {
                    MessageBox.Show("Trazeni termin nije dostupan.Lekar ne radi u to vreme.", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);

                    return;
                }

                /* String pocetak = smena.StartTime;
                 * String kraj = smena.EndTime;
                 * String[] deloviPocetak = pocetak.Split(':');
                 * String[] deloviKraj = kraj.Split(':');
                 *
                 * TimeSpan pocetakTime = new TimeSpan(int.Parse(deloviPocetak[0]), int.Parse(deloviPocetak[1]), 0);
                 * TimeSpan krajTime = new TimeSpan(int.Parse(deloviKraj[0]), int.Parse(deloviKraj[1]), 0);
                 * int result3 = TimeSpan.Compare(vremee, pocetakTime);
                 * int result4 = TimeSpan.Compare(krajTime, vremee);
                 *
                 * if (result3 != 1 || result4 != 1)
                 * {
                 *   MessageBox.Show("Trazeni termin nije dostupan.Lekar ne radi u to vreme.", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);
                 *
                 *   return;
                 *
                 * }*/


                AppointmentController apCon = new AppointmentController();
                apCon.New(drap, null);
                int             id1       = 0;
                String          ime       = "";
                String          prezime   = "";
                String          jmbg      = "";
                String          datumRodj = "";
                String          brojTel   = "";
                String          brKnj     = "";
                List <Question> pitanja   = new List <Question>();
                String          alergije  = "";
                String          grad      = "";
                Boolean         guest     = false;
                String          email     = "";
                String          password  = "";
                Boolean         sekr      = false;

                //  foreach (PatientUser pat in lista)
                // {
                // if (pat.id.Equals(d.patient.id))
                // {
                id1       = drap.patient.id;
                ime       = drap.patient.firstName;
                prezime   = drap.patient.secondName;
                jmbg      = drap.patient.uniqueCitizensidentityNumber;
                datumRodj = drap.patient.dateOfBirth;
                brKnj     = drap.patient.medicalIdNumber;
                brojTel   = drap.patient.phoneNumber;

                alergije = drap.patient.allergie;
                grad     = drap.patient.city;
                email    = drap.patient.email;
                guest    = drap.patient.guest;
                password = drap.patient.password;
                sekr     = drap.patient.isRegisteredBySecretary;
                if (drap.patient.notifications == null)
                {
                    drap.patient.notifications = new List <ModelNotification>();
                }
                List <ModelNotification> notifications = drap.patient.notifications;
                // }

                notifications.Add(new ModelNotification("Postovani, zakazana vam je novi pregled datuma : " + drap.date + " u " + drap.time + " h kod lekara " + drap.doctor.firstName + " " + drap.doctor.secondName + ". Ordinacija: " + drap.roomid));
                drap.patient.notifications = notifications;
                // PatientUser rp = new PatientUser(id1, ime, prezime, jmbg, datumRodj, brojTel, brKnj, pitanja, alergije, grad, guest, email, password, sekr, notifications);


                PatientController pCon = new PatientController();
                pCon.Update(drap.patient);
                Panel.Children.Clear();
                UserControl usc = new RezervisaniiTermini();
                Panel.Children.Add(usc);
            }
            else if (operacija == true)
            {
                String   datum   = DatumBox.Text;
                String[] delovi2 = datum.Split('/');
                int      mesec   = int.Parse(delovi2[1]);
                int      dan     = int.Parse(delovi2[0]);
                int      godina  = int.Parse(delovi2[2]);

                DateTime dt1 = new DateTime(godina, mesec, dan, 0, 0, 0);

                DateTime dt2 = DateTime.Now;

                if (dt2 > dt1)
                {
                    MessageBox.Show("Molimo vas da unesete termin koji tek predstoji", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }
                String x = bingPathToAppDir(@"JsonFiles\appointments.json");
                AppointmentRepository apc = new AppointmentRepository(x);

                /*  List<DoctorAppointment> listaPregleda = apc.GetAll();
                 * foreach (DoctorAppointment dd in listaPregleda)
                 * {
                 *    DoctorUser dr = dd.doctor;
                 *    if (dr.id == drOvaj.id)
                 *    {
                 *        if (dd.Date.Equals(DatumBox.Text))
                 *        {
                 *            TimeSpan krajPr = dd.Time + new TimeSpan(0, 15, 0);
                 *            int result = TimeSpan.Compare(vremee, dd.Time);
                 *            int result1 = TimeSpan.Compare(vremee, krajPr);
                 *            if ((result == 1 && result1 == -1) || result == 0)
                 *            {
                 *                MessageBox.Show("Izvinjavamo se! Trazeni termin je vec zauzet!", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);
                 *                return;
                 *            }
                 *            int rezultat = TimeSpan.Compare(vremee2, dd.Time);
                 *            int rezultat1 = TimeSpan.Compare(vremee2, krajPr);
                 *            if ((rezultat == 1 && rezultat1 == -1) || rezultat == 0)
                 *            {
                 *
                 *                MessageBox.Show("Izvinjavamo se! Trazeni termin je vec zauzet!", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);
                 *                return;
                 *            }
                 *        }
                 *
                 *
                 *
                 *
                 *    }
                 * }*/
                /*String pre = bingPathToAppDir(@"JsonFiles\operations.json");
                 * OperationRepository apc1 = new OperationRepository(pre);
                 * List<Operation> listaPregleda1 = apc1.GetAll();
                 * foreach (Operation dd in listaPregleda1)
                 * {
                 *  DoctorUser dr = dd.isResponiable;
                 *  if (dr.id == drOvaj.id)
                 *  {
                 *      if (dd.Date.Equals(DatumBox.Text))
                 *      {
                 *          int result = TimeSpan.Compare(vremee, dd.Start);
                 *          int result1 = TimeSpan.Compare(vremee, dd.End);
                 *          if ((result == 1 && result1 == -1) || result == 0)
                 *          {
                 *
                 *              MessageBox.Show("Izvinjavamo se! Trazeni termin je vec zauzet!", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);
                 *              return;
                 *          }
                 *          int rezultat = TimeSpan.Compare(vremee2, dd.Start);
                 *          int rezultat1 = TimeSpan.Compare(vremee2, dd.End);
                 *          if ((rezultat == 1 && rezultat1 == -1) || rezultat == 0)
                 *          {
                 *
                 *              MessageBox.Show("Izvinjavamo se! Trazeni termin je vec zauzet!", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);
                 *              return;
                 *          }
                 *      }
                 *
                 *
                 *
                 *
                 *  }
                 * }*/



                OperationController opCon = new OperationController();

                bool zauzetTermin = opCon.isTermNotAvailable(drOvaj, vremee, vremee2, DatumBox.Text, ovajPacijent);
                if (zauzetTermin == true)
                {
                    MessageBox.Show("Trazeni termin nije dostupan.", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);

                    return;
                }

                EmployeesScheduleController schCon         = new EmployeesScheduleController();
                List <Schedule>             listaRasporeda = schCon.GetAll();
                Shift smena = schCon.getShiftForDoctorForSpecificDay(DatumBox.Text, drOvaj);
                if (smena == null || smena.startTime == null || smena.endTime == null)
                {
                    MessageBox.Show("Trazeni termin nije dostupan.Lekar ne radi tog dana.", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);

                    return;
                }

                bool slobodan = schCon.isDoctorWorkingAtSpecifiedTime(DatumBox.Text, drOvaj, vremee);
                if (slobodan == false)
                {
                    MessageBox.Show("Trazeni termin nije dostupan.Lekar ne radi u to vreme.", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);

                    return;
                }


                String   pocetak       = smena.startTime;
                String   kraj          = smena.endTime;
                String[] deloviPocetak = pocetak.Split(':');
                String[] deloviKraj    = kraj.Split(':');

                TimeSpan pocetakTime = new TimeSpan(int.Parse(deloviPocetak[0]), int.Parse(deloviPocetak[1]), int.Parse("00"));
                TimeSpan krajTime    = new TimeSpan(int.Parse(deloviKraj[0]), int.Parse(deloviKraj[1]), int.Parse("00"));
                int      result3     = TimeSpan.Compare(vremee2, pocetakTime);
                int      result4     = TimeSpan.Compare(krajTime, vremee2);

                if (result3 != 1 || result4 != 1)
                {
                    MessageBox.Show("Trazeni termin nije dostupan.Lekar ne radi u to vreme.", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);

                    return;
                }


                /* EmployeesScheduleController schCon = new EmployeesScheduleController();
                 * List<Schedule> listaRasporeda = schCon.GetAll();
                 * Shift smena = new Shift();
                 * foreach (Schedule s in listaRasporeda)
                 * {
                 *
                 *   if (s.employeeid.Equals(drOvaj.id.ToString()))
                 *   {
                 *       if (s.Date.Equals(DatumBox.Text))
                 *       {
                 *           smena = s.shift;
                 *       }
                 *   }
                 * }
                 * if (smena.StartTime == null || smena.EndTime == null)
                 * {
                 *   MessageBox.Show("Trazeni termin nije dostupan.Lekar ne radi tog dana.", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);
                 *
                 *   return;
                 * }*/
                /* String pocetak = smena.StartTime;
                 * String kraj = smena.EndTime;
                 * String[] deloviPocetak = pocetak.Split(':');
                 * String[] deloviKraj = kraj.Split(':');
                 *
                 * TimeSpan pocetakTime = new TimeSpan(int.Parse(deloviPocetak[0]), int.Parse(deloviPocetak[1]), int.Parse("00"));
                 * TimeSpan krajTime = new TimeSpan(int.Parse(deloviKraj[0]), int.Parse(deloviKraj[1]), int.Parse("00"));
                 * int result3 = TimeSpan.Compare(vremee, pocetakTime);
                 * int result4 = TimeSpan.Compare(krajTime, vremee);
                 *
                 * if (result3 != 1 || result4 != 1)
                 * {
                 *   MessageBox.Show("Trazeni termin nije dostupan.Lekar ne radi u to vreme.", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);
                 *
                 *   return;
                 *
                 * }*/


                opCon.New(null, op);
                PatientController  pCon      = new PatientController();
                List <PatientUser> pacijenti = pCon.GetAll();

                int                      id1           = 0;
                String                   ime           = "";
                String                   prezime       = "";
                String                   jmbg          = "";
                String                   datumRodj     = "";
                String                   brojTel       = "";
                String                   brKnj         = "";
                List <Question>          pitanja       = new List <Question>();
                String                   alergije      = "";
                String                   grad          = "";
                Boolean                  guest         = false;
                String                   email         = "";
                String                   password      = "";
                Boolean                  sekr          = false;
                List <ModelNotification> notifications = new List <ModelNotification>();
                //  foreach (PatientUser pat in lista)
                // {
                // if (pat.id.Equals(d.patient.id))
                // {
                id1       = op.patient.id;
                ime       = op.patient.firstName;
                prezime   = op.patient.secondName;
                jmbg      = op.patient.uniqueCitizensidentityNumber;
                datumRodj = op.patient.dateOfBirth;
                brojTel   = op.patient.phoneNumber;

                alergije      = op.patient.allergie;
                grad          = op.patient.city;
                email         = op.patient.email;
                guest         = op.patient.guest;
                password      = op.patient.password;
                sekr          = op.patient.isRegisteredBySecretary;
                notifications = op.patient.notifications;
                // }
                if (notifications == null)
                {
                    notifications = new List <ModelNotification>();
                }
                notifications.Add(new ModelNotification("Postovani, zakazana Vam je nova operacija datuma : " + op.date + " u " + op.start + " h, kod lekara " + op.isResponiable.firstName + " " + op.isResponiable.secondName + " Sala " + op.idRoom));

                PatientUser rp = new PatientUser(id1, ime, prezime, jmbg, datumRodj, brojTel, brKnj, alergije, grad, guest, email, password, sekr, notifications);



                pCon.Update(rp);


                Panel.Children.Clear();
                UserControl usc = new RezervisaniiTermini();
                Panel.Children.Add(usc);
            }
        }
Пример #3
0
        public ActionResult <IEnumerable <Operation> > Get()
        {
            var obj = _repo.GetAll();

            return(obj.ToList());
        }
Пример #4
0
        public static List <PetData> GetPets()
        {
            PetRepository       petRep      = new PetRepository();
            KindRepository      kindRep     = new KindRepository();
            BreedRepository     breedRep    = new BreedRepository();
            UserRepository      userRep     = new UserRepository();
            UserTypeRepository  userTypeRep = new UserTypeRepository();
            OperationRepository operRep     = new OperationRepository();

            List <PhotoData> photos = GetPhotos();

            List <PetData> pets = new List <PetData>();

            petRep.GetAll().ToList().ForEach(x => pets.Add(new PetData
            {
                Id           = x.Id,
                Nickname     = x.Nickname,
                KindId       = x.KindId,
                BreedId      = x.BreedId,
                Kind         = kindRep.Get(x.KindId).Name,
                Breed        = breedRep.Get(x.BreedId).Name,
                Conditions   = x.Conditions,
                ArrivalDate  = x.ArrivalDate,
                Color        = x.Color,
                HealthStatus = x.HealthStatus,
                Photos       = photos.Where(k => k.PetId == x.Id).ToList()
            }));

            List <OperationData> op = new List <OperationData>(operRep.GetAll().ToList().Select(x => new OperationData
            {
                Id            = x.Id,
                PetId         = x.PetId,
                OperationDate = x.OperationDate,
                UserId        = x.UserId
            }));

            List <UserData> users = new List <UserData>();

            userRep.GetAll().ToList().ForEach(x => users.Add(new UserData
            {
                Id       = x.Id,
                Username = x.Username,
                Password = x.Password,
                UserType = new UserTypeData
                {
                    Id   = userTypeRep.Get(x.UserTypeId).Id,
                    Name = userTypeRep.Get(x.UserTypeId).Name
                },
                UserTypeId  = x.UserTypeId,
                FullName    = x.FullName,
                Address     = x.Address,
                PhoneNumber = x.PhoneNumber
            }));

            op.ForEach(x =>
                       pets.Where(p => p.Id == x.PetId).ToList()
                       .ForEach(pp => pp.User = users.FirstOrDefault(u => u.Id == x.UserId)));


            return(pets);
        }
        private void Zakazi_click(object sender, RoutedEventArgs e)
        {
            String b = bingPathToAppDir(@"JsonFiles\appointments.json");
            String c = bingPathToAppDir(@"JsonFiles\refferal.json");
            String d = bingPathToAppDir(@"JsonFiles\patients.json");
            String m = bingPathToAppDir(@"JsonFiles\doctors.json");


            PatientsRepository patientRepo  = new PatientsRepository(d);
            List <PatientUser> patientLista = patientRepo.GetAll();

            PatientUser ovajPacijent = new PatientUser();

            foreach (PatientUser r1 in patientLista)
            {
                if (r1.medicalIdNumber.Equals(KnjizicaBox.Text.ToString()))
                {
                    ovajPacijent     = r1;
                    KnjizicaBox.Text = r1.medicalIdNumber;
                }
            }



            DoctorRepository  docRepo = new DoctorRepository(m);
            List <DoctorUser> doktori = docRepo.GetAll();
            DoctorUser        drOvaj  = new DoctorUser();

            foreach (DoctorUser d1 in doktori)
            {
                if (d1.email.Equals(emailLekarBox.Text.ToString()))
                {
                    drOvaj = d1;
                }
            }



            String konacnoVreme = "";
            String vreme        = TimeText;

            Console.WriteLine(vreme);
            String[]      deliciVreme = vreme.Split(' ');
            String[]      satIminut   = deliciVreme[0].Split(':');
            String        sat         = satIminut[0];
            String        minut       = satIminut[1];
            String        kada        = deliciVreme[1];
            StringBuilder sb          = new StringBuilder();

            if (kada.Equals("AM"))
            {
                sb.Append(deliciVreme[0]);
                sb.Append(":00");
            }
            else
            {
                if (sat.Equals("1"))
                {
                    sb.Append("13:");
                    sb.Append(minut);
                    sb.Append(":00");
                }
                else if (sat.Equals("2"))
                {
                    sb.Append("14:");
                    sb.Append(minut);
                    sb.Append(":00");
                }
                else if (sat.Equals("3"))
                {
                    sb.Append("15:");
                    sb.Append(minut);
                    sb.Append(":00");
                }
                else if (sat.Equals("4"))
                {
                    sb.Append("16:");
                    sb.Append(minut);
                    sb.Append(":00");
                }
                else if (sat.Equals("5"))
                {
                    sb.Append("17:");
                    sb.Append(minut);
                    sb.Append(":00");
                }
                else if (sat.Equals("6"))
                {
                    sb.Append("18:");
                    sb.Append(minut);
                    sb.Append(":00");
                }
                else if (sat.Equals("7"))
                {
                    sb.Append("19:");
                    sb.Append(minut);
                    sb.Append(":00");
                }
                else if (sat.Equals("8"))
                {
                    sb.Append("20:");
                    sb.Append(minut);
                    sb.Append(":00");
                }
                else if (sat.Equals("9"))
                {
                    sb.Append("21:");
                    sb.Append(minut);
                    sb.Append(":00");
                }
                else if (sat.Equals("10"))
                {
                    sb.Append("22:");
                    sb.Append(minut);
                    sb.Append(":00");
                }
                else if (sat.Equals("11"))
                {
                    sb.Append("23:");
                    sb.Append(minut);
                    sb.Append(":00");
                }
                else
                {
                    sb.Append("00:");
                    sb.Append(minut);
                    sb.Append(":00");
                }
            }
            konacnoVreme = sb.ToString();
            Console.WriteLine(konacnoVreme);
            String[] zaTs        = konacnoVreme.Split(':');
            int      minutiVreme = int.Parse(zaTs[1]);
            TimeSpan ts          = new TimeSpan(int.Parse(zaTs[0]), minutiVreme, int.Parse(zaTs[2]));



            String konacnoVreme1 = "";
            String vreme1        = TimeText1;

            Console.WriteLine(vreme);
            String[]      deliciVreme1 = vreme1.Split(' ');
            String[]      satIminut1   = deliciVreme1[0].Split(':');
            String        sat1         = satIminut1[0];
            String        minut1       = satIminut1[1];
            String        kada1        = deliciVreme1[1];
            StringBuilder sb1          = new StringBuilder();

            if (kada1.Equals("AM"))
            {
                sb1.Append(deliciVreme1[0]);
                sb1.Append(":00");
            }
            else
            {
                if (sat1.Equals("1"))
                {
                    sb1.Append("13:");
                    sb1.Append(minut1);
                    sb1.Append(":00");
                }
                else if (sat1.Equals("2"))
                {
                    sb1.Append("14:");
                    sb1.Append(minut1);
                    sb1.Append(":00");
                }
                else if (sat1.Equals("3"))
                {
                    sb1.Append("15:");
                    sb1.Append(minut1);
                    sb1.Append(":00");
                }
                else if (sat1.Equals("4"))
                {
                    sb1.Append("16:");
                    sb1.Append(minut1);
                    sb1.Append(":00");
                }
                else if (sat1.Equals("5"))
                {
                    sb1.Append("17:");
                    sb1.Append(minut1);
                    sb1.Append(":00");
                }
                else if (sat1.Equals("6"))
                {
                    sb1.Append("18:");
                    sb1.Append(minut1);
                    sb1.Append(":00");
                }
                else if (sat1.Equals("7"))
                {
                    sb1.Append("19:");
                    sb1.Append(minut1);
                    sb1.Append(":00");
                }
                else if (sat1.Equals("8"))
                {
                    sb1.Append("20:");
                    sb1.Append(minut1);
                    sb1.Append(":00");
                }
                else if (sat1.Equals("9"))
                {
                    sb1.Append("21:");
                    sb1.Append(minut1);
                    sb1.Append(":00");
                }
                else if (sat1.Equals("10"))
                {
                    sb1.Append("22:");
                    sb1.Append(minut1);
                    sb1.Append(":00");
                }
                else if (sat1.Equals("11"))
                {
                    sb1.Append("23:");
                    sb1.Append(minut1);
                    sb1.Append(":00");
                }
                else
                {
                    sb1.Append("00:");
                    sb1.Append(minut1);
                    sb1.Append(":00");
                }
            }
            konacnoVreme1 = sb1.ToString();
            Console.WriteLine(konacnoVreme);
            Console.WriteLine(konacnoVreme1);
            String[] zaTs1        = konacnoVreme1.Split(':');
            int      minutiVreme1 = int.Parse(zaTs1[1]);
            TimeSpan ts1          = new TimeSpan(int.Parse(zaTs1[0]), minutiVreme1, int.Parse(zaTs1[2]));



            String[] deloviVreme = vreme.Split(':');
            //String[] deloviVreme2 = vreme2.Split(':');

// TimeSpan vremee = new TimeSpan(int.Parse(deloviVreme[0]), int.Parse(deloviVreme[1]), 0);
            //  TimeSpan vremee2 = new TimeSpan(int.Parse(deloviVreme2[0]), int.Parse(deloviVreme2[1]), 0);

            int broj = getNextid();

            DoctorAppointment drap = new DoctorAppointment(0, ts, DatumBox.Text.ToString(), ovajPacijent, drOvaj, null, ordinacijaBox.Text);

            AppointmentRepository    arepo  = new AppointmentRepository(b);
            List <DoctorAppointment> lista2 = new List <DoctorAppointment>();
            PatientController        regPat = new PatientController();
            List <PatientUser>       pac    = new List <PatientUser>();

            pac = regPat.GetAll();
            if (arepo.GetAll() != null)
            {
                lista2 = arepo.GetAll();
            }


            String    o     = bingPathToAppDir(@"JsonFiles\operations.json");
            int       broj1 = getNextid1();
            Operation op    = new Operation(0, ovajPacijent, DatumBox.Text.ToString(), ts, ts1, drOvaj, ordinacijaBox.Text, null);

            OperationRepository opRep  = new OperationRepository(o);
            List <Operation>    lista3 = new List <Operation>();

            if (opRep.GetAll() != null)
            {
                lista3 = opRep.GetAll();
            }

            if (pregled == true)
            {
                String   datum   = DatumBox.Text;
                String[] delovi2 = datum.Split('/');
                int      mesec   = int.Parse(delovi2[1]);
                int      dan     = int.Parse(delovi2[0]);
                int      godina  = int.Parse(delovi2[2]);

                DateTime dt1 = new DateTime(godina, mesec, dan, 0, 0, 0);

                DateTime dt2 = DateTime.Now;

                if (dt1 < dt2)
                {
                    MessageBox.Show("Molimo vas da unesete datum koji tek predstoji", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }
                String x = bingPathToAppDir(@"JsonFiles\appointments.json");
                AppointmentRepository    apc           = new AppointmentRepository(x);
                List <DoctorAppointment> listaPregleda = apc.GetAll();


                /* foreach (DoctorAppointment dd in listaPregleda)
                 * {
                 *   DoctorUser dr = dd.doctor;
                 *   if (dr.id == drOvaj.id)
                 *   {
                 *       if (dd.Date.Equals(DatumBox.Text))
                 *       {
                 *           TimeSpan krajPr = dd.Time + new TimeSpan(0, 15, 0);
                 *           int result = TimeSpan.Compare(vremee, dd.Time);
                 *           int result1 = TimeSpan.Compare(vremee, krajPr);
                 *           if ((result == 1 && result1 == -1) || result == 0)
                 *           {
                 *               MessageBox.Show("Izvinjavamo se! Trazeni termin je vec zauzet!", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);
                 *               return;
                 *           }
                 *       }
                 *
                 *
                 *
                 *
                 *   }
                 * }*/
                /*  String pre = bingPathToAppDir(@"JsonFiles\operations.json");
                 * OperationRepository apc1 = new OperationRepository(pre);
                 * List<Operation> listaPregleda1 = apc1.GetAll();
                 * foreach (Operation dd in listaPregleda1)
                 * {
                 *    DoctorUser dr = dd.isResponiable;
                 *    if (dr.id == drOvaj.id)
                 *    {
                 *        if (dd.Date.Equals(DatumBox.Text))
                 *        {
                 *            int result = TimeSpan.Compare(vremee, dd.Start);
                 *            int result1 = TimeSpan.Compare(vremee, dd.End);
                 *            if ((result == 1 && result1 == -1)||result==0 ||result1==0)
                 *            {
                 *
                 *                MessageBox.Show("Izvinjavamo se! Trazeni termin je vec zauzet!", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);
                 *                return;
                 *            }
                 *
                 *        }
                 *
                 *
                 *
                 *
                 *    }
                 * }*/



                EmployeesScheduleController schCon         = new EmployeesScheduleController();
                List <Schedule>             listaRasporeda = schCon.GetAll();
                Shift smena = schCon.getShiftForDoctorForSpecificDay(DatumBox.Text, drOvaj);
                if (smena == null || smena.startTime == null || smena.endTime == null)
                {
                    MessageBox.Show("Trazeni termin nije dostupan.Lekar ne radi tog dana.", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);

                    return;
                }
                AppointmentController appointmentController = new AppointmentController();
                Boolean notAvaible = appointmentController.isTermNotAvailable(drOvaj, ts, DatumBox.Text, ovajPacijent);
                if (notAvaible == true)
                {
                    MessageBox.Show("Izvinjavamo se! Trazeni termin je vec zauzet!", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }

                /* foreach (Schedule s in listaRasporeda)
                 * {
                 *
                 *   if (s.employeeid.Equals(drOvaj.id.ToString()))
                 *   {
                 *       if (s.Date.Equals(DatumBox.Text))
                 *       {
                 *           smena = s.shift;
                 *       }
                 *   }
                 * }
                 * if(smena.StartTime==null || smena.EndTime == null)
                 * {
                 *
                 * }*/

                bool slobodan = schCon.isDoctorWorkingAtSpecifiedTime(DatumBox.Text, drOvaj, ts);
                if (slobodan == false)
                {
                    MessageBox.Show("Trazeni termin nije dostupan.Lekar ne radi u to vreme.", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);

                    return;
                }

                /* String pocetak = smena.StartTime;
                 * String kraj = smena.EndTime;
                 * String[] deloviPocetak = pocetak.Split(':');
                 * String[] deloviKraj = kraj.Split(':');
                 *
                 * TimeSpan pocetakTime = new TimeSpan(int.Parse(deloviPocetak[0]), int.Parse(deloviPocetak[1]), 0);
                 * TimeSpan krajTime = new TimeSpan(int.Parse(deloviKraj[0]), int.Parse(deloviKraj[1]), 0);
                 * int result3 = TimeSpan.Compare(vremee, pocetakTime);
                 * int result4 = TimeSpan.Compare(krajTime, vremee);
                 *
                 * if (result3 != 1 || result4 != 1)
                 * {
                 *   MessageBox.Show("Trazeni termin nije dostupan.Lekar ne radi u to vreme.", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);
                 *
                 *   return;
                 *
                 * }*/


                AppointmentController apCon = new AppointmentController();
                apCon.New(drap, null);
                int             id1       = 0;
                String          ime       = "";
                String          prezime   = "";
                String          jmbg      = "";
                String          datumRodj = "";
                String          brojTel   = "";
                String          brKnj     = "";
                List <Question> pitanja   = new List <Question>();
                String          alergije  = "";
                String          grad      = "";
                Boolean         guest     = false;
                String          email     = "";
                String          password  = "";
                Boolean         sekr      = false;

                //  foreach (PatientUser pat in lista)
                // {
                // if (pat.id.Equals(d.patient.id))
                // {
                id1       = drap.patient.id;
                ime       = drap.patient.firstName;
                prezime   = drap.patient.secondName;
                jmbg      = drap.patient.uniqueCitizensidentityNumber;
                datumRodj = drap.patient.dateOfBirth;
                brKnj     = drap.patient.medicalIdNumber;
                brojTel   = drap.patient.phoneNumber;

                alergije = drap.patient.allergie;
                grad     = drap.patient.city;
                email    = drap.patient.email;
                guest    = drap.patient.guest;
                password = drap.patient.password;
                sekr     = drap.patient.isRegisteredBySecretary;
                if (drap.patient.notifications == null)
                {
                    drap.patient.notifications = new List <ModelNotification>();
                }
                List <ModelNotification> notifications = drap.patient.notifications;
                // }

                notifications.Add(new ModelNotification("Postovani, zakazana vam je novi pregled datuma : " + drap.date + " u " + drap.time + " h kod lekara " + drap.doctor.firstName + " " + drap.doctor.secondName + ". Ordinacija: " + drap.roomid));
                drap.patient.notifications = notifications;
                // PatientUser rp = new PatientUser(id1, ime, prezime, jmbg, datumRodj, brojTel, brKnj, pitanja, alergije, grad, guest, email, password, sekr, notifications);


                PatientController pCon = new PatientController();
                pCon.Update(drap.patient);
                Panel.Children.Clear();
                UserControl usc = new PopunjeniTermini();
                Panel.Children.Add(usc);
            }
            else if (operacija == true)
            {
                String   datum   = DatumBox.Text;
                String[] delovi2 = datum.Split('/');
                int      mesec   = int.Parse(delovi2[1]);
                int      dan     = int.Parse(delovi2[0]);
                int      godina  = int.Parse(delovi2[2]);

                DateTime dt1 = new DateTime(godina, mesec, dan, 0, 0, 0);

                DateTime dt2 = DateTime.Now;

                if (dt2 > dt1)
                {
                    MessageBox.Show("Molimo vas da unesete termin koji tek predstoji", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }
                String x = bingPathToAppDir(@"JsonFiles\appointments.json");
                AppointmentRepository apc = new AppointmentRepository(x);

                /*  List<DoctorAppointment> listaPregleda = apc.GetAll();
                 * foreach (DoctorAppointment dd in listaPregleda)
                 * {
                 *    DoctorUser dr = dd.doctor;
                 *    if (dr.id == drOvaj.id)
                 *    {
                 *        if (dd.Date.Equals(DatumBox.Text))
                 *        {
                 *            TimeSpan krajPr = dd.Time + new TimeSpan(0, 15, 0);
                 *            int result = TimeSpan.Compare(vremee, dd.Time);
                 *            int result1 = TimeSpan.Compare(vremee, krajPr);
                 *            if ((result == 1 && result1 == -1) || result == 0)
                 *            {
                 *                MessageBox.Show("Izvinjavamo se! Trazeni termin je vec zauzet!", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);
                 *                return;
                 *            }
                 *            int rezultat = TimeSpan.Compare(vremee2, dd.Time);
                 *            int rezultat1 = TimeSpan.Compare(vremee2, krajPr);
                 *            if ((rezultat == 1 && rezultat1 == -1) || rezultat == 0)
                 *            {
                 *
                 *                MessageBox.Show("Izvinjavamo se! Trazeni termin je vec zauzet!", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);
                 *                return;
                 *            }
                 *        }
                 *
                 *
                 *
                 *
                 *    }
                 * }*/
                /*String pre = bingPathToAppDir(@"JsonFiles\operations.json");
                 * OperationRepository apc1 = new OperationRepository(pre);
                 * List<Operation> listaPregleda1 = apc1.GetAll();
                 * foreach (Operation dd in listaPregleda1)
                 * {
                 *  DoctorUser dr = dd.isResponiable;
                 *  if (dr.id == drOvaj.id)
                 *  {
                 *      if (dd.Date.Equals(DatumBox.Text))
                 *      {
                 *          int result = TimeSpan.Compare(vremee, dd.Start);
                 *          int result1 = TimeSpan.Compare(vremee, dd.End);
                 *          if ((result == 1 && result1 == -1) || result == 0)
                 *          {
                 *
                 *              MessageBox.Show("Izvinjavamo se! Trazeni termin je vec zauzet!", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);
                 *              return;
                 *          }
                 *          int rezultat = TimeSpan.Compare(vremee2, dd.Start);
                 *          int rezultat1 = TimeSpan.Compare(vremee2, dd.End);
                 *          if ((rezultat == 1 && rezultat1 == -1) || rezultat == 0)
                 *          {
                 *
                 *              MessageBox.Show("Izvinjavamo se! Trazeni termin je vec zauzet!", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);
                 *              return;
                 *          }
                 *      }
                 *
                 *
                 *
                 *
                 *  }
                 * }*/



                OperationController opCon = new OperationController();

                bool zauzetTermin = opCon.isTermNotAvailable(drOvaj, ts, ts1, DatumBox.Text, ovajPacijent);
                if (zauzetTermin == true)
                {
                    MessageBox.Show("Trazeni termin nije dostupan.", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);

                    return;
                }

                EmployeesScheduleController schCon         = new EmployeesScheduleController();
                List <Schedule>             listaRasporeda = schCon.GetAll();
                Shift smena = schCon.getShiftForDoctorForSpecificDay(DatumBox.Text, drOvaj);
                if (smena == null || smena.startTime == null || smena.endTime == null)
                {
                    MessageBox.Show("Trazeni termin nije dostupan.Lekar ne radi tog dana.", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);

                    return;
                }

                bool slobodan = schCon.isDoctorWorkingAtSpecifiedTime(DatumBox.Text, drOvaj, ts);
                if (slobodan == false)
                {
                    MessageBox.Show("Trazeni termin nije dostupan.Lekar ne radi u to vreme.", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);

                    return;
                }


                int ispravno = TimeSpan.Compare(ts1, ts);
                if (ispravno == -1 || ispravno == 0)
                {
                    MessageBox.Show("Operacija mora imati trajanje!", "Greska", MessageBoxButton.OK);
                    return;
                }

                /*  String pocetak = smena.StartTime;
                 * String kraj = smena.EndTime;
                 * String[] deloviPocetak = pocetak.Split(':');
                 * String[] deloviKraj = kraj.Split(':');
                 *
                 * TimeSpan pocetakTime = new TimeSpan(int.Parse(deloviPocetak[0]), int.Parse(deloviPocetak[1]), int.Parse("00"));
                 * TimeSpan krajTime = new TimeSpan(int.Parse(deloviKraj[0]), int.Parse(deloviKraj[1]), int.Parse("00"));
                 * int result3 = TimeSpan.Compare(vremee2, pocetakTime);
                 * int result4 = TimeSpan.Compare(krajTime, vremee2);
                 *
                 * if (result3 != 1 || result4 != 1)
                 * {
                 *    MessageBox.Show("Trazeni termin nije dostupan.Lekar ne radi u to vreme.", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);
                 *
                 *    return;
                 *
                 * }*/

                /* EmployeesScheduleController schCon = new EmployeesScheduleController();
                 * List<Schedule> listaRasporeda = schCon.GetAll();
                 * Shift smena = new Shift();
                 * foreach (Schedule s in listaRasporeda)
                 * {
                 *
                 *   if (s.employeeid.Equals(drOvaj.id.ToString()))
                 *   {
                 *       if (s.Date.Equals(DatumBox.Text))
                 *       {
                 *           smena = s.shift;
                 *       }
                 *   }
                 * }
                 * if (smena.StartTime == null || smena.EndTime == null)
                 * {
                 *   MessageBox.Show("Trazeni termin nije dostupan.Lekar ne radi tog dana.", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);
                 *
                 *   return;
                 * }*/
                /* String pocetak = smena.StartTime;
                 * String kraj = smena.EndTime;
                 * String[] deloviPocetak = pocetak.Split(':');
                 * String[] deloviKraj = kraj.Split(':');
                 *
                 * TimeSpan pocetakTime = new TimeSpan(int.Parse(deloviPocetak[0]), int.Parse(deloviPocetak[1]), int.Parse("00"));
                 * TimeSpan krajTime = new TimeSpan(int.Parse(deloviKraj[0]), int.Parse(deloviKraj[1]), int.Parse("00"));
                 * int result3 = TimeSpan.Compare(vremee, pocetakTime);
                 * int result4 = TimeSpan.Compare(krajTime, vremee);
                 *
                 * if (result3 != 1 || result4 != 1)
                 * {
                 *   MessageBox.Show("Trazeni termin nije dostupan.Lekar ne radi u to vreme.", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);
                 *
                 *   return;
                 *
                 * }*/


                opCon.New(null, op);
                PatientController  pCon      = new PatientController();
                List <PatientUser> pacijenti = pCon.GetAll();

                int             id1       = 0;
                String          ime       = "";
                String          prezime   = "";
                String          jmbg      = "";
                String          datumRodj = "";
                String          brojTel   = "";
                String          brKnj     = "";
                List <Question> pitanja   = new List <Question>();
                String          alergije  = "";
                String          grad      = "";
                Boolean         guest     = false;
                String          email     = "";
                String          password  = "";
                Boolean         sekr      = false;
                // List<String> notifications = new List<String>();
                //  foreach (PatientUser pat in lista)
                // {
                // if (pat.id.Equals(d.patient.id))
                // {
                id1       = op.patient.id;
                ime       = op.patient.firstName;
                prezime   = op.patient.secondName;
                jmbg      = op.patient.uniqueCitizensidentityNumber;
                datumRodj = op.patient.dateOfBirth;
                brojTel   = op.patient.phoneNumber;

                alergije = op.patient.allergie;
                grad     = op.patient.city;
                email    = op.patient.email;
                guest    = op.patient.guest;
                password = op.patient.password;
                sekr     = op.patient.isRegisteredBySecretary;

                // }



                // PatientUser rp = new PatientUser(id1, ime, prezime, jmbg, datumRodj, brojTel, brKnj, pitanja, alergije, grad, guest, email, password, sekr, notifications);

                if (op.patient.notifications == null)
                {
                    op.patient.notifications = new List <ModelNotification>();
                }
                List <ModelNotification> notifications = drap.patient.notifications;
                // }
                notifications.Add(new ModelNotification("Postovani, zakazana Vam je nova operacija datuma : " + op.date + " u " + op.start + " h, kod lekara " + op.isResponiable.firstName + " " + op.isResponiable.secondName + " Sala " + op.idRoom));

                op.patient.notifications = notifications;


                pCon.Update(op.patient);


                Panel.Children.Clear();
                UserControl usc = new PopunjeniTermini();
                Panel.Children.Add(usc);
            }
        }
Пример #6
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            Lista  ss    = (Lista)dataGridTermini.Items.GetItemAt(dataGridTermini.SelectedIndex);
            string name1 = sender.ToString();

            string[] words = name1.Split(':');

            string[] words1 = name1.Split(' ');
            string   id     = words1[2];


            string sMessageBoxText = "Da li ste sigurni da zelite da otkazete ovaj termin?" + id;
            string sCaption        = "Otkazivanje termina.";

            MessageBoxButton btnMessageBox  = MessageBoxButton.YesNoCancel;
            MessageBoxImage  icnMessageBox  = MessageBoxImage.Warning;
            MessageBoxResult rsltMessageBox = MessageBox.Show(sMessageBoxText, sCaption, btnMessageBox, icnMessageBox);

            switch (rsltMessageBox)
            {
            case MessageBoxResult.Yes:
                PatientUser ovajPacijent = new PatientUser();

                String o = bingPathToAppDir(@"JsonFiles\operations.json");
                String b = bingPathToAppDir(@"JsonFiles\appointments.json");

                AppointmentList = new List <DoctorAppointment>();
                operationList   = new List <Operation>();

                OperationRepository   oprep = new OperationRepository(o);
                AppointmentRepository epr   = new AppointmentRepository(b);
                operationList   = oprep.GetAll();
                AppointmentList = epr.GetAll();


                foreach (DoctorAppointment d in AppointmentList)
                {
                    if (d.id.ToString().Equals(id) && ss.Pregled == true)
                    {
                        Console.WriteLine(id);
                        AppointmentList.Remove(d);
                        //patientController.update(ovajPacijent);
                        epr.Delete(d.id);
                        PatientController patContr = new PatientController();


                        if (d.patient.notifications == null)
                        {
                            d.patient.notifications = new List <ModelNotification>();
                        }
                        List <ModelNotification> notifications1 = d.patient.notifications;
                        // }

                        notifications1.Add(new ModelNotification("Postovani, pregled zakazan za datum: " + d.date + " i vreme " + d.time + " je otkazan."));
                        d.patient.notifications = notifications1;



                        PatientController pCon = new PatientController();
                        pCon.Update(d.patient);

                        if (d.doctor.specialNotifications == null)
                        {
                            d.doctor.specialNotifications = new List <DoctorNotification>();
                        }
                        List <DoctorNotification> obavestenja = d.doctor.specialNotifications;
                        obavestenja.Add(new DoctorNotification("Postovani, pregled zakazan za datum: " + d.date + " i vreme " + d.time + " je otkazan."));
                        d.doctor.specialNotifications = obavestenja;



                        DoctorController docContr1 = new DoctorController();

                        docContr1.Update(d.doctor);
                        var s = new PopunjeniTermini();
                        Panel.Children.Clear();
                        Panel.Children.Add(s);

                        break;
                    }
                }

                foreach (Operation d in operationList)
                {
                    if (d.id.ToString().Equals(id) && ss.Operacija == true)
                    {
                        operationList.Remove(d);
                        oprep.Delete(d.id);

                        if (d.patient.notifications == null)
                        {
                            d.patient.notifications = new List <ModelNotification>();
                        }
                        List <ModelNotification> notifications1 = d.patient.notifications;


                        notifications1.Add(new ModelNotification("Postovani, operacija zakazana za datum: " + d.date + " i vreme " + d.start + " je otkazana."));
                        d.patient.notifications = notifications1;



                        PatientController pCon = new PatientController();
                        pCon.Update(d.patient);



                        if (d.isResponiable.specialNotifications == null)
                        {
                            d.isResponiable.specialNotifications = new List <DoctorNotification>();
                        }
                        List <DoctorNotification> obavestenja = d.isResponiable.specialNotifications;
                        obavestenja.Add(new DoctorNotification("Postovani,operacija zakazana za datum: " + d.date + " i vreme " + d.start + " je otkazana."));
                        d.isResponiable.specialNotifications = obavestenja;



                        DoctorController docContr1 = new DoctorController();

                        docContr1.Update(d.isResponiable);
                        var s = new PopunjeniTermini();
                        Panel.Children.Clear();
                        Panel.Children.Add(s);
                        break;
                    }
                }


                break;


            case MessageBoxResult.No:

                break;

            case MessageBoxResult.Cancel:

                break;
            }
        }
Пример #7
0
        public PopunjeniTermini()
        {
            InitializeComponent();
            this.DataContext = this;

            String b = bingPathToAppDir(@"JsonFiles\appointments.json");



            AppointmentList = new List <DoctorAppointment>();

            AppointmentRepository epr = new AppointmentRepository(b);

            if (epr != null)
            {
                AppointmentList = epr.GetAll();
            }

            if (AppointmentList != null)
            {
                foreach (DoctorAppointment ee in AppointmentList)
                {
                    String   datum  = ee.date;
                    String[] delovi = datum.Split('/');
                    int      mesec  = int.Parse(delovi[1]);
                    int      dan    = int.Parse(delovi[0]);
                    int      godina = int.Parse(delovi[2]);

                    DateTime dt1 = new DateTime(godina, mesec, dan, 0, 0, 0);

                    DateTime dt2 = DateTime.Now;


                    if (dt1.Date >= dt2.Date)
                    {
                        vrsta = 0;
                        DoctorUser    doc = ee.doctor;
                        StringBuilder l   = new StringBuilder();
                        l.Append(doc.firstName + " ");
                        l.Append(doc.secondName + " ");
                        l.Append(doc.speciality);
                        StringBuilder p   = new StringBuilder();
                        PatientUser   pat = ee.patient;
                        p.Append(pat.firstName + " ");
                        p.Append(pat.secondName);

                        li.Add(new Lista
                        {
                            DoctorName = l.ToString(),

                            idapp       = ee.id,
                            Time        = ee.time,
                            TimeEnd     = ee.time + new TimeSpan(0, 15, 0),
                            Date        = ee.date,
                            ChangeName  = "IZMENI " + ee.id,
                            RemoveName  = "OTKAŽI " + ee.id,
                            PatientName = p.ToString(),
                            Ordinacija  = ee.roomid.ToString(),
                            Pregled     = true,
                            Operacija   = false
                        });
                    }

                    AppLista = li;
                }
            }
            String o = bingPathToAppDir(@"JsonFiles\operations.json");


            OperationRepository opRep = new OperationRepository(o);



            List <Operation> operationList = new List <Operation>();

            if (opRep.GetAll() != null)
            {
                operationList = opRep.GetAll();
            }



            foreach (Operation ee in operationList)
            {
                vrsta = 1;
                String   datum1  = ee.date;
                String[] delovi1 = datum1.Split('/');
                int      mesec1  = int.Parse(delovi1[1]);
                int      dan1    = int.Parse(delovi1[0]);
                int      godina1 = int.Parse(delovi1[2]);

                DateTime dt3 = new DateTime(godina1, mesec1, dan1, 0, 0, 0);

                DateTime dt4 = DateTime.Now;


                if (dt3.Date >= dt4.Date)
                {
                    DoctorUser    doc = ee.isResponiable;
                    StringBuilder l   = new StringBuilder();
                    l.Append(doc.firstName + " ");
                    l.Append(doc.secondName + " ");
                    l.Append(doc.speciality);
                    StringBuilder p   = new StringBuilder();
                    PatientUser   pat = ee.patient;
                    p.Append(pat.firstName + " ");
                    p.Append(pat.secondName);

                    li.Add(new Lista
                    {
                        DoctorName = l.ToString(),

                        idapp       = ee.id,
                        Time        = ee.start,
                        TimeEnd     = ee.end,
                        Date        = ee.date,
                        ChangeName  = "IZMENI " + ee.id,
                        RemoveName  = "OTKAŽI " + ee.id,
                        PatientName = p.ToString(),
                        Ordinacija  = ee.isResponiable.ordination.ToString(),
                        Pregled     = false,
                        Operacija   = true
                    });
                }


                AppLista = li;
            }
        }
Пример #8
0
 public List <Operation> GetAll()
 {
     return(operationRepository.GetAll());
 }