public ActionResult ScheduleAppointmentByDoctor([FromBody] ExaminationDTO scheduleExaminationDTO) { Examination scheduleExamination = ExaminationMapper.ExmainationDTO_To_Examination(scheduleExaminationDTO); int idExamination = _scheduleAppintmentService.ScheduleAnAppointmentByDoctor(scheduleExamination); return(Ok(idExamination)); }
private void ScheduleAppointmentButton_Click(object sender, RoutedEventArgs e) { if (AppointmentSearchResultsDataGrid.SelectedItem == null || SelectedAppointmentRoomComboBox.SelectedItem == null) { return; } ExaminationDTO selectedExamination = (ExaminationDTO)AppointmentSearchResultsDataGrid.SelectedItem; List <EquipmentInExaminationDTO> equipmentInExaminationDTOs = new List <EquipmentInExaminationDTO>(); List <int> appointmentRequiredEquipmentTypes = new List <int>(); foreach (EquipmentTypeForViewDTO equipmentType in AllEquipmentTypes) { if (equipmentType.IsSelected) { appointmentRequiredEquipmentTypes.Add(equipmentType.EquipmentType.Id); // equipmentInExaminationDTOs.Add(new EquipmentInExaminationDTO(equipmentType.EquipmentType.Id,selectedExamination.)) } } int selectedRoomForExaminationId = (int)SelectedAppointmentRoomComboBox.SelectedItem; selectedExamination.RoomId = selectedRoomForExaminationId; new AppointmentService().AddExamination(selectedExamination, appointmentRequiredEquipmentTypes); InfoDialog infoDialog = new InfoDialog("Uspešno ste zakazali pregled!"); infoDialog.ShowDialog(); ClearAppointmentSearchFields(); AppointmentSearchScrollViewer.ScrollToTop(); }
static void Main(string[] args) { IAppErrors errors = new AppErrors(); IExamService service = new ExamService(errors, new ExamRepository()); ExaminationDTO ex = new ExaminationDTO(); ex.Description = "Data By EF"; ex.CutOffMark = 24; ex.CourseID = 1; service.AddNewExam(ex); if (errors.IsValid) { Console.WriteLine("Success"); } else { foreach (Error er in errors.GetErrors()) { Console.WriteLine(er.Value); } } IEnumerable <ExaminationDTO> exams = service.GetExams(); foreach (var x in exams) { Console.WriteLine(x.CourseID + "|" + x.Description + "|" + x.CutOffMark); } Console.ReadLine(); }
public bool UpdateExam(ExaminationDTO ex) { if (this.Validate(ex)) { repository.AddNew(ex); return(true); } return(false); }
public void AddNew(ExaminationDTO ex) { SqlCommand com = new SqlCommand("sp_add_exam @1,@2,@3", con); com.Parameters.AddWithValue("@1", ex.Description); com.Parameters.AddWithValue("@2", ex.CutOffMark); com.Parameters.AddWithValue("@3", ex.CourseID); con.Open(); com.ExecuteNonQuery(); con.Close(); }
public List <Examination> GetExaminationsByFilter(ExaminationDTO examinationDTO, bool upcomingOnly) { if (AuthorizedUsers["GetExaminationsByFilter"].SingleOrDefault(x => x == Role) != null) { return(ExaminationController.GetExaminationsByFilter(examinationDTO, upcomingOnly)); } else { return(null); } }
public AppointmentInRoomMoreDetailsDialog(ExaminationDTO examinationDTO) { InitializeComponent(); DataContext = this; _patientService = new PatientService(); ExaminationForDisplay = examinationDTO; ExaminationPatient = _patientService.GetPatientByPatientCardId(ExaminationForDisplay.PatientCardId); CancelExaminationButton.Visibility = Visibility.Collapsed; }
private List <ExaminationDTO> Map(List <Examination> entity) { List <ExaminationDTO> dtos = new List <ExaminationDTO>(); foreach (var x in entity) { Mapper.CreateMap <Examination, ExaminationDTO>(); ExaminationDTO dto = Mapper.Map <ExaminationDTO>(x); dtos.Add(dto); } return(dtos); }
public bool Validate(ExaminationDTO ex) { if (ex.Description == null || ex.Description == "") { modelerrors.AddError("ExamName", "Please Enter Exam Name"); } if (ex.CutOffMark == 0) { modelerrors.AddError("PassMark", "Invalid Pass Mark"); } return(modelerrors.IsValid); }
public string AddExamination(ExaminationDTO examinationDTO, List <int> equipmentInExaminationIds) { List <EquipmentInExaminationDTO> equipmentInExaminationDTOs = new List <EquipmentInExaminationDTO>(); IRestResponse responseExamination = AddHTTPPostRequest("appointment/schedule", examinationDTO); int idExamination = Int32.Parse(responseExamination.Content); foreach (int equipmentInExaminationId in equipmentInExaminationIds) { equipmentInExaminationDTOs.Add(new EquipmentInExaminationDTO(equipmentInExaminationId, idExamination)); } AddEquipmentInExamination(equipmentInExaminationDTOs); return(responseExamination.Content); }
private void dataGridExaminations_KeyUp(object sender, KeyEventArgs e) { if (e.Key == Key.Delete) { ExaminationDTO examinationCancel = (ExaminationDTO)dataGridExaminations.SelectedItem; if (dataGridExaminations.Items.Count > 0) { if (examinationCancel == null) { ValidationMessageWindow validationMessageWindow = new ValidationMessageWindow(); validationMessageWindow.caption.Text = "Nemate izabran pregled za brisanje!"; validationMessageWindow.Show(); } else { DateTime selectedExamiantionDateTime = Convert.ToDateTime(examinationCancel.Date + " " + examinationCancel.Time, CultureInfo.InvariantCulture); if (DateTime.Compare(selectedExamiantionDateTime, DateTime.Now.AddDays(1)) <= 0) { ValidationMessageWindow validationMessageWindow = new ValidationMessageWindow(); validationMessageWindow.caption.Text = "Brisanje pregleda nije moguće!"; validationMessageWindow.Show(); } else { MessageBoxResult messageBoxResult = MessageBox.Show("Da li želite da otkažete pregled?", "Potvrda otkazivanja", MessageBoxButton.YesNo, MessageBoxImage.Error); if (messageBoxResult == MessageBoxResult.Yes) { examinationController.DeleteScheduledExamination(examinationCancel.Id); dataGridExaminations.DataContext = null; ReviewExaminationsWindow reviewExaminationsWindow = new ReviewExaminationsWindow(); reviewExaminationsWindow.Show(); this.Close(); } } } } else { MessageBox.Show("Nije moguce brisati iz prazne tabele.", "Greska!", MessageBoxButton.OK, MessageBoxImage.Error); } } }
public ScheduleExamination(Object o) { InitializeComponent(); examination = (ExaminationDTO)o; List <User> users = userPatientController.ViewAllUsers(); foreach (User u in users) { patients.Add((Patient)u); } txtPatient.DataContext = patients; InitializeWindowInformation(examination); }
private void btnEditExm_Click(object sender, RoutedEventArgs e) { ExaminationDTO examinationToEdit = (ExaminationDTO)dgSearchExaminations.SelectedItem; if (examinationToEdit == null) { var okMb = new OKMessageBox(this, 0); okMb.titleMsgBox.Text = "Greška"; okMb.textMsgBox.Text = "Prvo odaberite pregled koji mijenjate!"; okMb.ShowDialog(); } else { var ee = new EditExamination(examinationToEdit, this); ee.ShowDialog(); } }
private void btnCancelExm_Click(object sender, RoutedEventArgs e) { ExaminationDTO examinationToCancel = (ExaminationDTO)dgExaminations.SelectedItem; if (examinationToCancel == null) { var okMb = new OKMessageBox(this, 0); okMb.titleMsgBox.Text = "Greška"; okMb.textMsgBox.Text = "Odaberite pregled koji želite otkazati!"; okMb.ShowDialog(); } else if (examinationToCancel.Room.Equals("")) { var okMb = new OKMessageBox(this, 0); okMb.titleMsgBox.Text = "Greška"; okMb.textMsgBox.Text = "Izabrani termin nije zakazan!"; okMb.ShowDialog(); } else { string[] partsDoctor = examinationToCancel.Doctor.Split(' '); if (examinationController.CancelExamination(examinationToCancel.Id) == false) { var okMb = new OKMessageBox(this, 0); okMb.titleMsgBox.Text = "Greška"; okMb.textMsgBox.Text = "Došlo je do greške prilikom otkazivanja pregleda!"; okMb.ShowDialog(); return; } int lastId = notificationController.getLastId(); string message = "Vas pregled za datum " + examinationToCancel.Date + " u " + examinationToCancel.Time + " sati je otkazan."; string[] partsPatient = examinationToCancel.Patient.Split(' '); notificationController.SendNotification(new Notification(++lastId, TypeOfNotification.Pregled, message, partsPatient[partsPatient.Length - 1])); foreach (Window window in Application.Current.Windows) { if (window.GetType() == typeof(MainWindow)) { (window as MainWindow).Main.Content = new ExaminationViewByDoctor(partsDoctor[partsDoctor.Length - 1]); } } } }
public EditExamination(Object obj, Page par) { examination = (ExaminationDTO)obj; parent = par; parts = examination.Doctor.Split(' '); doctorForSelection = (Doctor)userDoctorController.ViewProfile(parts[parts.Length - 1]); InitializeComponent(); List <User> users = userDoctorController.ViewAllUsers(); foreach (User u in users) { doctors.Add((Doctor)u); } cmbDoctor.DataContext = doctors; InitializeWindowInformation(); }
public List <Examination> GetExaminationsByFilter(ExaminationDTO examinationDTO, Boolean upcomingOnly) { List <Examination> examinations = GetAll().ToList(); if (!upcomingOnly) { examinations.AddRange(GetAllPrevious()); } for (int i = 0; i < examinations.Count; i++) { if (examinationDTO.Doctor != null && examinations[i].Doctor.FullName != examinationDTO.Doctor.FullName) { examinations.RemoveAt(i); i--; continue; } if (examinationDTO.Patient != null && examinations[i].User.FullName != examinationDTO.Patient.FullName) { examinations.RemoveAt(i); i--; continue; } if (examinationDTO.Period.StartDate > examinations[i].Period.StartDate || examinationDTO.Period.EndDate < examinations[i].Period.StartDate) { examinations.RemoveAt(i); i--; continue; } if (examinationDTO.Room != null && getExaminationRoom(examinations[i]).RoomCode != examinationDTO.Room.RoomCode) { examinations.RemoveAt(i); i--; continue; } } return(examinations); }
private void InitializeWindowInformation(ExaminationDTO examination) { txtDoctor.Text = examination.Doctor; string[] parts = examination.Doctor.Split(' '); Doctor selectedDoctor = (Doctor)userDoctorController.ViewProfile(parts[parts.Length - 1]); if (selectedDoctor.Type == TypeOfDoctor.drOpstePrakse) { typeOfExaminationDTOs.Add(new TypeOfExaminationDTO("Opšti pregled")); cmbTypeOfExamination.DataContext = typeOfExaminationDTOs; } else { typeOfExaminationDTOs.Add(new TypeOfExaminationDTO("Specijalistički pregled")); typeOfExaminationDTOs.Add(new TypeOfExaminationDTO("Operacija")); cmbTypeOfExamination.DataContext = typeOfExaminationDTOs; } dpDate.SelectedDate = DateTime.Parse(examination.Date); tpTime.SelectedTime = DateTime.Parse(examination.Time); }
private void btnEditExm_Click(object sender, RoutedEventArgs e) { ExaminationDTO examinationToEdit = (ExaminationDTO)dgCanceledExaminations.SelectedItem; if (examinationToEdit == null) { var okMb = new OKMessageBox(this, 0); okMb.titleMsgBox.Text = "Greška"; okMb.textMsgBox.Text = "Prvo odaberite pregled koji mijenjate!"; okMb.ShowDialog(); } else { var ee = new EditExamination(examinationToEdit, this); ee.cmbDoctor.IsEnabled = false; ee.cmbTypeOfExamination.IsEnabled = false; ee.dpDate.IsEnabled = true; ee.tpTime.IsEnabled = true; ee.ShowDialog(); } }
public ReviewExaminationsWindow() { InitializeComponent(); patient = (Patient)userController.ViewProfile(MainWindow.patient.Jmbg); patientExamiantions = examinationController.ViewExaminationsByPatient(patient.Jmbg); foreach (Examination e in patientExamiantions) { string type; if (e.Type == TypeOfExamination.Opsti) { type = "OPŠTI"; } else if (e.Type == TypeOfExamination.Operacija) { type = "OPERACIJA"; } else { type = "SPECIJALISTIČKI"; } int id = e.IdExamination; string date = e.DateAndTime.ToShortDateString(); string time = e.DateAndTime.ToShortTimeString(); string doctor = e.doctor.Name + " " + e.doctor.Surname + " " + e.doctor.Jmbg; ExaminationDTO examinationDTO = new ExaminationDTO(id, type, date, time, doctor); examinationDTOs.Add(examinationDTO); } dataGridExaminations.DataContext = examinationDTOs; }
public List <ExaminationDTO> CreateExaminationDTO(BusinessDay businessDay) { List <ExaminationDTO> retVal = new List <ExaminationDTO>(); DateTime Start = businessDay.Shift.StartDate; DateTime End = Start.AddMinutes(BusinessDayService.durationOfExamination); while (End <= businessDay.Shift.EndDate) { if (businessDay.ScheduledPeriods.SingleOrDefault(x => x.StartDate == Start) == null) { ExaminationDTO examinationDTO = new ExaminationDTO { Room = businessDay.room, Period = new Period(Start, End), Doctor = businessDay.doctor }; retVal.Add(examinationDTO); } End = End.AddMinutes(BusinessDayService.durationOfExamination); Start = Start.AddMinutes(BusinessDayService.durationOfExamination); } return(retVal); }
private void editExaminationBtn_Click(object sender, RoutedEventArgs e) { ExaminationDTO examinationToEdit = (ExaminationDTO)dgExaminations.SelectedItem; if (examinationToEdit == null) { var okMb = new OKMessageBox(this, 0); okMb.titleMsgBox.Text = "Greška"; okMb.textMsgBox.Text = "Prvo odaberite pregled koji mijenjate!"; okMb.ShowDialog(); } else if (examinationToEdit.Room.Equals("")) { var okMb = new OKMessageBox(this, 0); okMb.titleMsgBox.Text = "Greška"; okMb.textMsgBox.Text = "Izabrani termin nije zakazan!"; okMb.ShowDialog(); } else { var ee = new EditExamination(examinationToEdit, this); ee.ShowDialog(); } }
private void btnScheduleExm_Click(object sender, RoutedEventArgs e) { ExaminationDTO examinationToSchedule = (ExaminationDTO)dgExaminations.SelectedItem; if (examinationToSchedule == null) { var okMb = new OKMessageBox(this, 0); okMb.titleMsgBox.Text = "Greška"; okMb.textMsgBox.Text = "Prvo odaberite slobodan termin doktora!"; okMb.ShowDialog(); } else if (!examinationToSchedule.Room.Equals("")) { var okMb = new OKMessageBox(this, 0); okMb.titleMsgBox.Text = "Greška"; okMb.textMsgBox.Text = "Izabrani pregled je već zakazan!"; okMb.ShowDialog(); } else { var ee = new ScheduleExamination(examinationToSchedule); ee.ShowDialog(); } }
private void btnDeleteExm_Click(object sender, RoutedEventArgs e) { ExaminationDTO examinationDelete = (ExaminationDTO)dgCanceledExaminations.SelectedItem; if (examinationDelete == null) { var okMb = new OKMessageBox(this, 0); okMb.titleMsgBox.Text = "Greška"; okMb.textMsgBox.Text = "Prvo odaberite pregled koji brišete!"; okMb.ShowDialog(); } else { if (examinationController.DeleteCanceledExamination(examinationDelete.Id) == false) { var okMb = new OKMessageBox(this, 0); okMb.titleMsgBox.Text = "Greška"; okMb.textMsgBox.Text = "Došlo je do greške prilikom otkazivanja pregleda!"; okMb.ShowDialog(); return; } var okMb1 = new OKMessageBox(this, 0); okMb1.titleMsgBox.Text = "Obavještenje"; okMb1.textMsgBox.Text = "Uspješno ste obrisali pregled."; okMb1.ShowDialog(); foreach (Window window in Application.Current.Windows) { if (window.GetType() == typeof(MainWindow)) { (window as MainWindow).Main.Content = new CanceledExaminationsView(); } } } }
public List <Examination> GetExaminationsByFilter(ExaminationDTO examinationDTO, Boolean upcomingOnly) { return(_examinationService.GetExaminationsByFilter(examinationDTO, upcomingOnly)); }
private void AppointmentSearchResultsDataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e) { ExaminationDTO selectedExaminationAppointment = (ExaminationDTO)AppointmentSearchResultsDataGrid.SelectedItem; SelectedAppointmentRoomComboBox.ItemsSource = GetFreeRoomsByAppointment(ExaminationSearchResults, selectedExaminationAppointment); }
private void ScheduleEmergencyAppointmentButton_Click(object sender, RoutedEventArgs e) { int patientCardId = ((PatientBasicDTO)AppointmentSearchPatientComboBox.SelectedItem).PatientCardId; int doctorSpecialtyId = ((SpecialtyDTO)AppointmentDoctorSpecializationComboBox.SelectedItem).Id; List <int> appointmentRequiredEquipmentTypes = new List <int>(); foreach (EquipmentTypeForViewDTO equipmentType in AllEquipmentTypes) { if (equipmentType.IsSelected) { appointmentRequiredEquipmentTypes.Add(equipmentType.EquipmentType.Id); } } AppointmentSearchWithPrioritiesDTO appointmentSearchParametersDTO = new AppointmentSearchWithPrioritiesDTO { InitialParameters = new BasicAppointmentSearchDTO(patientCardId, doctorJmbg: "0909965768767", appointmentRequiredEquipmentTypes, earliestDateTime: new DateTime(DateTime.Now.Year, DateTime.Now.Month, 29, 7, 0, 0, DateTimeKind.Utc), latestDateTime: new DateTime()), Priority = SearchPriority.Date, SpecialtyId = doctorSpecialtyId }; AppointmentService appointmentService = new AppointmentService(); if (EmergencyAppointmentSearchResultsDataGrid.SelectedItem == null) { List <EmergencyExaminationDTO> emergencyExaminationSearchResults = appointmentService.GetEmergencyAppointments(appointmentSearchParametersDTO); if (emergencyExaminationSearchResults.Count == 1 && emergencyExaminationSearchResults[0].UnchangedExamination.DateTime.Equals(emergencyExaminationSearchResults[0].ShiftedExamination.DateTime)) { appointmentService.AddExamination(emergencyExaminationSearchResults[0].UnchangedExamination, appointmentRequiredEquipmentTypes); InfoDialog infoDialog = new InfoDialog(String.Format("Uspešno ste zakazali pregled!{0}{0}Nakon zatvaranja ovog dijaloga, biće prikazano više informacija o zakazanom pregledu.", Environment.NewLine)); infoDialog.ShowDialog(); ShowDialogWithMoreDetailsAboutScheduledExamination(emergencyExaminationSearchResults[0].UnchangedExamination); ClearAppointmentSearchFields(); AppointmentSearchScrollViewer.ScrollToTop(); } else { EmergencyAppointmentSearchResultsDataGrid.ItemsSource = emergencyExaminationSearchResults; InfoDialog infoDialog = new InfoDialog("Nažalost u skorijem periodu nema slobodnih termina koji odgovaraju unetim parametrima. Možete pomeriti neki od postojećih termina. Termini su sortirani u tabeli po pogodnosti za pomeranje. Termin koji je najpogodniji za pomeranje je posebno naglašen."); infoDialog.ShowDialog(); } } else { EmergencyExaminationDTO selectedEmergencyExamination = (EmergencyExaminationDTO)EmergencyAppointmentSearchResultsDataGrid.SelectedItem; ExaminationDTO unchangedExamination = selectedEmergencyExamination.UnchangedExamination; ExaminationDTO examinationForScheduleDTO = new ExaminationDTO(unchangedExamination.DateTime, unchangedExamination.Doctor, unchangedExamination.RoomId, patientCardId); RescheduleExaminationDTO rescheduleExaminationDTO = new RescheduleExaminationDTO(examinationForScheduleDTO, selectedEmergencyExamination.UnchangedExamination, selectedEmergencyExamination.ShiftedExamination); appointmentService.RescheduleExamination(rescheduleExaminationDTO); InfoDialog infoDialog = new InfoDialog(String.Format("Uspešno ste zakazali pregled!{0}{0}Nakon zatvaranja ovog dijaloga, biće prikazano više informacija o zakazanom pregledu.", Environment.NewLine)); infoDialog.ShowDialog(); ShowDialogWithMoreDetailsAboutScheduledExamination(examinationForScheduleDTO); ClearAppointmentSearchFields(); AppointmentSearchScrollViewer.ScrollToTop(); } }
public void AddNew(ExaminationDTO ex) { context.Examinations.Add(Map(ex)); context.SaveChanges(); }
public void Update(ExaminationDTO ex) { context.Entry(Map(ex)).State = EntityState.Modified; context.SaveChanges(); }
private void ShowDialogWithMoreDetailsAboutScheduledExamination(ExaminationDTO examinationDTO) { AppointmentInRoomMoreDetailsDialog appointmentInRoomMoreDetailsDialog = new AppointmentInRoomMoreDetailsDialog(examinationDTO); appointmentInRoomMoreDetailsDialog.ShowDialog(); }
private Examination Map(ExaminationDTO dto) { Mapper.CreateMap <ExaminationDTO, Examination>(); return(Mapper.Map <Examination>(dto)); }