private void ViewOrEdit(object sender) { Button btn = (Button)sender; if (btn is null && !string.IsNullOrEmpty(btn.Name)) { return; } if (DataGridListOfDoctors.SelectedIndex == -1) { MessageBox.Show("Select the row corresponding to the doctor", "No row selected"); return; } //Open a new window with existing doctor details ClassDoctor doc = (ClassDoctor)DataGridListOfDoctors.SelectedItem; WindowDoctorDataEdition windowDoctorDataEdition = new WindowDoctorDataEdition(doc); if (btn.Name.Equals(ButtonViewDetails.Name)) { windowDoctorDataEdition.ReadOnly = true; } else if (btn.Name.Equals(ButtonEdit.Name)) { windowDoctorDataEdition.ReadOnly = false; } windowDoctorDataEdition.AddNewDoctor = false; windowDoctorDataEdition.ShowDialog(); if ((bool)windowDoctorDataEdition.DialogResult) { UpdateDoctor(doc, windowDoctorDataEdition.AddNewDoctor); LoadDataToDataGrid(); } return; }
public void ListOfActiveDoctors() { ClassDoctor doctor1 = new ClassDoctor() { Active = true, Doctor_id = 1 }; ClassDoctor doctor2 = new ClassDoctor() { Active = false, Doctor_id = 2 }; ClassDoctor doctor3 = new ClassDoctor() { Active = true, Doctor_id = 3 }; ClassDoctor doctor4 = new ClassDoctor() { Active = true, Doctor_id = 4 }; ClassDoctor doctor5 = new ClassDoctor() { Active = false, Doctor_id = 5 }; List <ClassDoctor> fullList = new List <ClassDoctor> { doctor1, doctor2, doctor3, doctor4, doctor5 }; List <ClassDoctor> expected = new List <ClassDoctor> { doctor1, doctor3, doctor4 }; List <ClassDoctor> actual = ClassGenerateCalendar.ListOfActiveDoctors(fullList); Assert.Equal(expected, actual); }
public static List <ClassDoctor> ListOfDoctorsForSpecifiedCalendar(int calendarId) { string querry = "USE [db_Clinic] SELECT [tbl_Doctor].[Doctor_id],[Name],[Surname],[Phone_number],[Active],[Degree],[Type_of_specialization],[Office_id],[Specialization], " + "[tbl_Degree_of_doctor].[Degree_of_doctor_id],[tbl_Type_of_specialization].[Type_of_specialization_id],[tbl_Specialization].[Specialization_id], [tbl_Calendar_doctor].[Status_id], " + "[tbl_Calendar].[Calendar_id], [tbl_Status].[Status] " + "FROM[dbo].[tbl_Doctor], [dbo].[tbl_Degree_of_doctor], [dbo].[tbl_Specialization],[dbo].[tbl_Type_of_specialization], [dbo].[tbl_Calendar_doctor], [dbo].[tbl_Calendar], [dbo].[tbl_Status], [dbo].[tbl_Employee] " + "WHERE[tbl_Doctor].[Degree_of_doctor_id] =[tbl_Degree_of_doctor].[Degree_of_doctor_id] " + "AND[tbl_Doctor].[Type_of_specialization_id] =[tbl_Type_of_specialization].[Type_of_specialization_id] " + "AND[tbl_Type_of_specialization].[Specialization_id] =[tbl_Specialization].[Specialization_id] " + "AND[Active] = 'Yes' " + "AND[tbl_Calendar_doctor].[Doctor_id] =[tbl_Doctor].[Doctor_id] " + "AND[tbl_Calendar].[Calendar_id] = " + calendarId + " AND [tbl_Status].[Status_id]=[tbl_Calendar_doctor].[Status_id] " + "AND [tbl_Calendar].[Calendar_id]=[tbl_Calendar_doctor].[Calendar_id] " + "AND [tbl_Employee].[Employee_id]=[tbl_doctor].[Employee_id]"; SqlDataReader dr = ClassQuerry.ExecuteQuerry(querry); List <ClassDoctor> DoctorList = new List <ClassDoctor>(); while (dr.Read()) { ClassDoctor dct = new ClassDoctor(); dct.Doctor_id = dr.GetInt32("Doctor_id"); dct.Name = dr.GetString("Name"); dct.Surname = dr.GetString("Surname"); dct.PhoneNumber = dr.GetString("Phone_number"); dct.OfficeNumber = dr.GetInt32("Office_id"); dct.Active = false; if (dr.GetString("Active").Equals("Yes")) { dct.Active = true; } ClassDegreeOfDoctor degree = new ClassDegreeOfDoctor(); degree.DegreeOfDoctorId = dr.GetInt32("Degree_of_doctor_id"); degree.Degree = dr.GetString("Degree"); dct.Degree = degree; ClassTypeOfSpecialization typeOfSpecialization = new ClassTypeOfSpecialization(); typeOfSpecialization.TypeOfSpecializationId = dr.GetInt32("Type_of_specialization_id"); typeOfSpecialization.TypeOfSpecialization = dr.GetString("Type_of_specialization"); dct.TypeOfSpecialization = typeOfSpecialization; ClassSpecialization specialization = new ClassSpecialization(); specialization.SpecializationId = dr.GetInt32("Specialization_id"); specialization.Specialization = dr.GetString("Specialization"); dct.Specialization = specialization; dct.Status = new ClassStatus(); dct.Status.StatusId = dr.GetInt32("Status_id"); dct.Status.Status = dr.GetString("Status"); DoctorList.Add(dct); } ClassQuerry.CloseConnection(); return(DoctorList); }
private void UpdateDoctor(ClassDoctor doctor, bool AddNewDoctor) { //try { if (!AddNewDoctor) { ClassSQLConnections.UpdateDoctor(doctor); return; } ClassSQLConnections.AddDoctor(doctor); } //catch (Exception ex) { //MessageBox.Show(ex.Message + "\n Try again later", "Error"); } }
private void ButtonAdd_Click(object sender, RoutedEventArgs e) { //Open a new window adding a new doctor ClassDoctor doc = new ClassDoctor(); WindowDoctorDataEdition windowDoctorDataEdition = new WindowDoctorDataEdition(doc); windowDoctorDataEdition.ReadOnly = false; windowDoctorDataEdition.AddNewDoctor = true; bool update = (bool)windowDoctorDataEdition.ShowDialog(); if (update) { UpdateDoctor(doc, windowDoctorDataEdition.AddNewDoctor); LoadDataToDataGrid(); } }
private static string QuerryTermsForDoctor(int Year, int Month, int calendarDoctorId, int calendarId, ClassDoctor dct, List <ClassCalendarDay> dayList, ISqlCalendar sql) { string querry = ""; foreach (ClassCalendarDay d in dayList) { DateTime data = new DateTime(Year, Month, d.Day); foreach (var item in sql.ListFixedTermsForSpecifiedDoctor(dct.Doctor_id)) { if ((int)data.DayOfWeek == item.Day) { if (item.Start >= d.StartTime && item.End <= d.EndTime) { querry += String.Format("('{0}','{1}','{2}',{3},{4},{5},{6}),", item.Start, item.End, String.Format("{0}-{1}-{2}", data.Year, data.Month, data.Day), calendarDoctorId, sql.SelectCalendarDayId(d.Day, calendarId), dct.OfficeNumber, dct.Doctor_id); } break; } } } return(querry); }
public SqlCalendar() { #region Office ClassOffice o1 = new ClassOffice(); o1.OfficeId = 1; o1.OfficeNumber = 100; ClassOffice o2 = new ClassOffice(); o1.OfficeId = 2; o1.OfficeNumber = 200; ListOffice = new List <ClassOffice>() { o1, o2 }; #endregion #region Status ClassStatus s1 = new ClassStatus(); s1.StatusId = 1; s1.Status = "New"; ClassStatus s2 = new ClassStatus(); s2.StatusId = 2; s2.Status = "Shared for doctors"; ClassStatus s3 = new ClassStatus(); s3.StatusId = 3; s3.Status = "During verification"; ClassStatus s4 = new ClassStatus(); s4.StatusId = 4; s4.Status = "Verified"; ClassStatus s5 = new ClassStatus(); s5.StatusId = 5; s5.Status = "Waiting for administrator acceptance"; ClassStatus s6 = new ClassStatus(); s6.StatusId = 6; s6.Status = "During verification by the doctor"; ClassStatus s7 = new ClassStatus(); s7.StatusId = 7; s7.Status = "Accepted by the doctor"; ListStatus = new List <ClassStatus>() { s1, s2, s3, s4, s5, s6, s7 }; #endregion #region Doctor ClassDoctor dct1 = new ClassDoctor(); dct1.Active = true; dct1.Doctor_id = 1; dct1.Name = "Jan"; dct1.Surname = "Nowak"; dct1.OfficeNumber = 100; ClassDoctor dct2 = new ClassDoctor(); dct2.Active = true; dct2.Doctor_id = 2; dct2.Name = "Tomasz"; dct2.Surname = "Kowalski"; dct2.OfficeNumber = 200; ListDoctor = new List <ClassDoctor>() { dct1, dct2 }; #endregion #region FixedTerms ClassFixedTerms ft1 = new ClassFixedTerms(); ft1.Day = 2; ft1.Start = new TimeSpan(8, 0, 0); ft1.End = new TimeSpan(12, 0, 0); ft1.DoctorId = 1; ClassFixedTerms ft2 = new ClassFixedTerms(); ft2.Day = 3; ft2.Start = new TimeSpan(13, 0, 0); ft2.End = new TimeSpan(15, 0, 0); ft2.DoctorId = 2; ListFixedTerms = new List <ClassFixedTerms>() { ft1, ft2 }; #endregion #region Calendar ClassCalendar c1 = new ClassCalendar(); c1.Year = 2000; c1.Month = 2; c1.CalendarId = 1; c1.Status = new ClassStatus(); c1.Status.StatusId = 1; ListCalendar.Add(c1); ClassCalendar c2 = new ClassCalendar(); c2.Year = 2000; c2.Month = 3; c2.CalendarId = 2; c2.Status = new ClassStatus(); c2.Status.StatusId = 3; ListCalendar.Add(c2); ClassCalendar c3 = new ClassCalendar(); c3.Year = 2000; c3.Month = 4; c3.CalendarId = 3; c3.Status = new ClassStatus(); c3.Status.StatusId = 1; ListCalendar.Add(c3); #endregion #region Calendar Doctor ClassCalendarDoctor cd1 = new ClassCalendarDoctor(); cd1.Calendar = new ClassCalendar(); cd1.Calendar.CalendarId = 2; cd1.CalendarDoctorId = 1; cd1.Doctor = new ClassDoctor(); cd1.Doctor.Doctor_id = 1; cd1.Status = new ClassStatus(); cd1.Status.StatusId = 7; ListCalendarDoctor.Add(cd1); ClassCalendarDoctor cd2 = new ClassCalendarDoctor(); cd2.Calendar = new ClassCalendar(); cd2.Calendar.CalendarId = 2; cd2.CalendarDoctorId = 2; cd2.Doctor = new ClassDoctor(); cd2.Doctor.Doctor_id = 2; cd2.Status = new ClassStatus(); cd2.Status.StatusId = 7; ListCalendarDoctor.Add(cd2); #endregion #region Calendar Day ClassCalendarDay d1 = new ClassCalendarDay(); d1.Calendar = new ClassCalendar(); d1.Calendar.CalendarId = 1; d1.CalendarDayId = 1; d1.Day = 1; d1.StartTime = new TimeSpan(7, 0, 0); d1.EndTime = new TimeSpan(20, 0, 0); ListCalendarDay.Add(d1); ClassCalendarDay d2 = new ClassCalendarDay(); d2.Calendar = new ClassCalendar(); d2.Calendar.CalendarId = 1; d2.CalendarDayId = 2; d2.Day = 2; d2.StartTime = new TimeSpan(7, 0, 0); d2.EndTime = new TimeSpan(20, 0, 0); ListCalendarDay.Add(d2); ClassCalendarDay d3 = new ClassCalendarDay(); d3.Calendar = new ClassCalendar(); d3.Calendar.CalendarId = 2; d3.CalendarDayId = 3; d3.Day = 1; d3.StartTime = new TimeSpan(7, 0, 0); d3.EndTime = new TimeSpan(20, 0, 0); ListCalendarDay.Add(d3); ClassCalendarDay d4 = new ClassCalendarDay(); d4.Calendar = new ClassCalendar(); d4.Calendar.CalendarId = 2; d4.CalendarDayId = 4; d4.Day = 7; d4.StartTime = new TimeSpan(7, 0, 0); d4.EndTime = new TimeSpan(20, 0, 0); ListCalendarDay.Add(d4); #endregion #region Term ClassTerm t1 = new ClassTerm(); t1.TermId = 1; t1.CalendarDay = new ClassCalendarDay(); t1.CalendarDay = d3; t1.CalendarDoctor = cd1; t1.Date = new DateTime(2000, 3, 1); t1.Doctor = dct1; t1.StartTime = new TimeSpan(8, 0, 0); t1.EndTime = new TimeSpan(12, 0, 0); t1.Office = new ClassOffice(); t1.Office.OfficeNumber = 100; ListTerm.Add(t1); ClassTerm t2 = new ClassTerm(); t2.TermId = 2; t2.CalendarDay = new ClassCalendarDay(); t2.CalendarDay = d4; t2.CalendarDoctor = cd2; t2.Date = new DateTime(2000, 3, 7); t2.Doctor = dct2; t2.StartTime = new TimeSpan(13, 0, 0); t2.EndTime = new TimeSpan(15, 0, 0); t2.Office = new ClassOffice(); t2.Office.OfficeNumber = 200; ListTerm.Add(t2); #endregion }
public SqlConnections() { ClassOffice o1 = new ClassOffice(); o1.OfficeId = 1; o1.OfficeNumber = 2; ClassOffice o2 = new ClassOffice(); o1.OfficeId = 2; o1.OfficeNumber = 3; listOfOfices = new List <ClassOffice>() { o1, o2 }; ClassDoctor dct1 = new ClassDoctor(); dct1.Active = true; dct1.Doctor_id = 20; dct1.Name = "Jan"; dct1.Surname = "Nowak"; dct1.OfficeNumber = 100; ClassDoctor dct2 = new ClassDoctor(); dct2.Active = true; dct2.Doctor_id = 10; dct2.Name = "Tomasz"; dct2.Surname = "Kowalski"; dct2.OfficeNumber = 200; ListDoctor = new List <ClassDoctor>() { dct1, dct2 }; ClassUser u1 = new ClassUser(); u1.Login = "******"; u1.Password = "******"; u1.Permission = new ClassPermission(); u1.Permission.Permission = "Doctor"; u1.User_id = 1; ClassUser u2 = new ClassUser(); u2.Login = "******"; u2.Password = "******"; u2.Permission = new ClassPermission(); u2.Permission.Permission = "Doctor"; u2.User_id = 2; ClassUser u3 = new ClassUser(); u3.Login = "******"; u3.Password = "******"; u3.Permission = new ClassPermission(); u3.Permission.Permission = "Administrator"; u3.User_id = 3; ListUser = new List <ClassUser>() { u1, u2, u3 }; }