示例#1
0
        public RecommendAppointment()
        {
            InitializeComponent();
            this.DataContext      = this;
            doctorController      = new DoctorController();
            appointmentController = new AppointmentController();
            operationController   = new OperationController();
            patientController     = new PatientController();

            List <ListaDoktoriCeloIme> mojaLista = new List <ListaDoktoriCeloIme>();

            listAppointments = appointmentController.GetAll();
            listPatients     = new List <PatientUser>();
            listPatients     = patientController.GetAll();
            listDoctors      = doctorController.GetAll();
            listOperations   = operationController.GetAll();

            foreach (DoctorUser d in listDoctors)
            {
                if (d.isSpecialist == false)
                {
                    StringBuilder l = new StringBuilder();
                    l.Append(d.firstName + " ");
                    l.Append(d.secondName + " ");
                    l.Append(d.id);
                    ListaDoktoriCeloIme a = new ListaDoktoriCeloIme();
                    a.DoctorName = l.ToString();
                    mojaLista.Add(a);
                }
            }

            doctorCombo.ItemsSource = mojaLista;
        }
示例#2
0
        private void confirmButton_Click(object sender, RoutedEventArgs e)
        {
            String priority          = "";
            ListaDoktoriCeloIme name = (ListaDoktoriCeloIme)doctorCombo.SelectedValue;

            if (name == null || Date_TextBox.Text.Equals("") || !Regex.Match(Date_TextBox.Text, @"^([0-9]{2}/[0-9]{2}/[0-9]{4})$").Success ||
                Date_TextBox2.Text.Equals("") || !Regex.Match(Date_TextBox2.Text, @"^([0-9]{2}/[0-9]{2}/[0-9]{4})$").Success)
            {
                doctorCombo.Focus();
                MessageBox.Show("Please fill all fields corectlly!", "Error", MessageBoxButton.OK, MessageBoxImage.Error);

                return;
            }

            else
            {
                String imeDr = name.DoctorName;

                String[] delovi = imeDr.Split(' ');

                int idDoktor = int.Parse(delovi[2]);



                DoctorUser doktorPregled = doctorController.GetByid(idDoktor);


                if (rb1Date.IsChecked == true)
                {
                    priority = "DATE";
                }
                else
                {
                    priority = "DOCTOR";
                }

                patient = patientController.GetByid(int.Parse(myProperty));

                String   datum   = Date_TextBox.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);

                String   datum2  = Date_TextBox2.Text;
                String[] delovi3 = datum2.Split('/');
                int      mesec2  = int.Parse(delovi3[1]);
                int      dan2    = int.Parse(delovi3[0]);
                int      godina2 = int.Parse(delovi3[2]);

                DateTime dt2 = new DateTime(godina2, mesec2, dan2, 0, 0, 0);


                DateTime dtSad = DateTime.Now;


                if (dtSad > dt1 || dtSad > dt2)
                {
                    MessageBox.Show("Please enter dates that are yet to come.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }
                if (dt1 > dt2)
                {
                    MessageBox.Show("Please enter dates that are yet to come.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }

                String ime = doktorPregled.firstName;


                DoctorAppointment pronadjesApp = appointmentController.RecommendAnAppointment(doktorPregled, dt1, dt2, patient);

                if (pronadjesApp == null)
                {
                    if (priority.Equals("DOCTOR"))
                    {
                        DateTime oduzimam = dt1.AddDays(-3);
                        DateTime dodajem  = dt2.AddDays(3);

                        pronadjesApp = appointmentController.RecommendAnAppointment(doktorPregled, oduzimam, dodajem, patient);
                    }
                    else if (priority.Equals("DATE"))
                    {
                        pronadjesApp = appointmentController.recommenedAnAppointmentDatePriority(dt1, dt2, patient);
                    }
                    else
                    {
                    }
                }
                String imeDoktora = doktorPregled.firstName + " " + doktorPregled.secondName;
                if (pronadjesApp == null)
                {
                    MessageBox.Show("Sorry\nAppointment is not found.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                }
                else
                {
                    DoctorUser doktorIme       = pronadjesApp.doctor;
                    string     sMessageBoxText = "Do you want to schedule this appointment ? \n" + pronadjesApp.date + "\n" + pronadjesApp.time + "\n" + doktorIme.firstName + " " + doktorIme.secondName;
                    string     sCaption        = "New doctor appointment";

                    MessageBoxButton btnMessageBox = MessageBoxButton.YesNoCancel;
                    MessageBoxImage  icnMessageBox = MessageBoxImage.Warning;

                    MessageBoxResult rsltMessageBox = MessageBox.Show(sMessageBoxText, sCaption, btnMessageBox, icnMessageBox);
                    int id = 0;
                    switch (rsltMessageBox)
                    {
                    case MessageBoxResult.Yes:
                        id = getid();
                        pronadjesApp.id = id;
                        appointmentController.New(pronadjesApp, null);

                        MessageBox.Show(
                            "Appointment is successfully scheduled!");

                        break;

                    case MessageBoxResult.No:

                        break;

                    case MessageBoxResult.Cancel:

                        break;
                    }
                }
            }
        }