public void TestCreateTerms() { SqlCalendar sql = new SqlCalendar(); IEnumerable <ClassCalendar> querycal = from elem in sql.CalendarList() where elem.Month == 2 select elem; ClassCalendar calendar = querycal.First(); sql.CreateTerms("('08:00:00','12:00:00','2000-2-1',3,1,100,1),('13:00:00','15:00:00','2000-2-2',4,2,200,2)"); ClassGenerateCalendar.ShareCalendar(calendar, sql); List <ClassTerm> list = sql.ListOfTerms(); IEnumerable <ClassTerm> query = from elem in list where elem.TermId == 3 && elem.CalendarDay.CalendarDayId == 1 && elem.Doctor.Doctor_id == 1 && elem.StartTime.CompareTo(new TimeSpan(8, 0, 0)) == 0 && elem.EndTime.CompareTo(new TimeSpan(12, 0, 0)) == 0 select elem; Assert.Single(query); query = from elem in list where elem.TermId == 4 && elem.CalendarDay.CalendarDayId == 2 && elem.Doctor.Doctor_id == 2 && elem.StartTime.CompareTo(new TimeSpan(13, 0, 0)) == 0 && elem.EndTime.CompareTo(new TimeSpan(15, 0, 0)) == 0 select elem; Assert.Single(query); querycal = from elem in sql.CalendarList() where elem.Month == 2 select elem; calendar = querycal.First(); Assert.Equal(2, calendar.Status.StatusId); }
public void TestCreateCalendarDays() { SqlCalendar sql = new SqlCalendar(); IEnumerable <ClassCalendar> querycal = from elem in sql.CalendarList() where elem.Month == 4 select elem; ClassCalendar calendar = querycal.First(); int id = calendar.CalendarId; sql.CreateCalendarDays("(1,'07:00:00','20:00:00'," + id + "),(2,'07:00:00','20:00:00'," + id + "),(3,'07:00:00','20:00:00'," + id + ")"); IEnumerable <ClassCalendarDay> query = from elem in sql.ListOfCalendarDays(id) where elem.Day == 1 && elem.StartTime.CompareTo(new TimeSpan(7, 0, 0)) == 0 && elem.EndTime.CompareTo(new TimeSpan(20, 0, 0)) == 0 select elem; Assert.Single(query); query = from elem in sql.ListOfCalendarDays(id) where elem.Day == 2 && elem.StartTime.CompareTo(new TimeSpan(7, 0, 0)) == 0 && elem.EndTime.CompareTo(new TimeSpan(20, 0, 0)) == 0 select elem; Assert.Single(query); query = from elem in sql.ListOfCalendarDays(id) where elem.Day == 3 && elem.StartTime.CompareTo(new TimeSpan(7, 0, 0)) == 0 && elem.EndTime.CompareTo(new TimeSpan(20, 0, 0)) == 0 select elem; Assert.Single(query); }
private void LoadStatusToLabel(ClassCalendar calendar) { IEnumerable <ClassStatus> query = from elem in sql.StatusList() where elem.StatusId == calendar.Status.StatusId select elem; if (!query.Any()) { throw new Exception("Unable to find apropriate status in database"); } Status_Label.Text = query.First().Status; //Check if update status to Waitng to Veryfy if (Status_Label.Text == ClassStatus.StatusString(EnumStatus.SharedForDoctors)) { sql.UpdateCalendar(calendar.CalendarId); List <ClassCalendar> list = sql.CalendarList(); if (calendar.Status.StatusId != GetCalendarForSelectedCalendarInComboboxFromDataBase().Status.StatusId) { ComboBoxPickDate.ItemsSource = sql.CalendarList(); if (ComboBoxPickDate.Items.Count == 0) { return; } ComboBoxPickDate.SelectedIndex = ComboBoxPickDate.Items.Count - 1; } } }
private List <ClassCalendarDay> ListOfOriginalDays() { ClassCalendar calendar = GetCalendarForSelectedCalendarInComboboxFromDataBase(); List <ClassCalendarDay> orignalDays = ClassSqlCalendar.ListOfCalendarDays(calendar.CalendarId); return(orignalDays); }
private void OverlappingCalendar() { ClassCalendar calendar = GetCalendarForSelectedCalendarInComboboxFromDataBase(); List <ClassOverlappingCalendar> list = sql.OverlappingTerms(calendar.CalendarId); if (list.Count != 0) { //Need changes in offices WindowOverlapping windowOverlapping = new WindowOverlapping(list, calendar.CalendarId); bool update = (bool)windowOverlapping.ShowDialog(); if (!update) { return; } foreach (var item in list) { if (item.NewOfficeNumber == 0) { continue; } sql.UpdateOffice(item.TermId, item.NewOfficeId); } return; } //Calendar verified sql.UpdateCalendarStatus(4, calendar.CalendarId); MessageBox.Show("Succesfully veryfied", "Succes"); ComboBoxPickDate.ItemsSource = sql.CalendarList(); if (ComboBoxPickDate.Items.Count == 0) { return; } ComboBoxPickDate.SelectedIndex = ComboBoxPickDate.Items.Count - 1; return; }
private List <ClassCalendarDay> ListOfOriginalDays() { ClassCalendar calendar = GetCalendarForCurrentDate(); List <ClassCalendarDay> orignalDays = ClassSqlCalendar.ListOfCalendarDays(calendar.CalendarId); return(orignalDays); }
private void DataGridListOfCalendarDoctor_MouseDoubleClick(object sender, MouseButtonEventArgs e) { try { ClassCalendar calendar = GetCalendarForSelectedCalendarInComboboxFromDataBase(); ClassCalendarDoctor calendarDoctor = GetCalendarDoctorForSelectedCalendarDoctorInDataGridFromDataBase(calendar.CalendarId); WindowDoctorTerms windowDoctorTerms = new WindowDoctorTerms(sql.TermLisTSelectedDoctor(calendar.CalendarId, calendarDoctor.Doctor.Doctor_id), calendar.Year, calendar.Month); windowDoctorTerms.ShowDialog(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error"); } }
public int CreateCalendar(int Year, int Month) { ClassCalendar calendar = new ClassCalendar(); calendar.CalendarId = NextCalendarId; NextCalendarId++; calendar.Month = Month; calendar.Year = Year; calendar.Status = new ClassStatus(); calendar.Status.Status = "New"; calendar.Status.StatusId = 1; ListCalendar.Add(calendar); return(calendar.CalendarId); }
private void ButtonAdd_Click(object sender, RoutedEventArgs e) { if (workingDayFrom.SelectedItem == null || workingDayTo.SelectedItem == null || AvailableDate.SelectedItem == null) { MessageBox.Show("You cannot leave any empty combobox!"); return; } ClassCalendar calendar = GetCalendarForCurrentDate(); int dayId = ClassSqlCalendar.GetDayIdForCalendarDate(calendar.CalendarId, ((ClassCalendarDay)AvailableDate.SelectedItem).DateInDateTime.Day); ClassSqlCalendar.CreateTerm((TimeSpan)workingDayFrom.SelectedItem, (TimeSpan)workingDayTo.SelectedItem, ClassSqlCalendar.GetCalendarIdForDoctor(ClassLoggedDoctor.Doctor_Id, calendar.CalendarId), dayId, ClassSQLConnections.GetOfficeIdForDoctor(ClassLoggedDoctor.Doctor_Id), ClassLoggedDoctor.Doctor_Id, ((ClassCalendarDay)AvailableDate.SelectedItem).Date); this.DialogResult = true; this.Close(); }
//Verify calendar private void ButtonVerified_Click(object sender, RoutedEventArgs e) { try { ClassCalendar calendar = GetCalendarForSelectedCalendarInComboboxFromDataBase(); if (!(calendar.Status.StatusId == sql.SelectStatusId(EnumStatus.DuringVerification))) { throw new Exception("Calendar status must be during verification"); } OverlappingCalendar(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error"); } }
private void Button_AcceptCalendarClick(object sender, RoutedEventArgs e) { ClassCalendar calendar = GetCalendarForSelectedCalendarInComboboxFromDataBase(); foreach (ClassCalendarDay day in days) { if (day.IsWorkingDay == true) { int dayId = ClassSqlCalendar.GetDayIdForCalendarDate(calendar.CalendarId, day.DateInDateTime.Day); ClassSqlCalendar.CreateTerm(day.StartTime, day.EndTime, ClassSqlCalendar.GetCalendarIdForDoctor(ClassLoggedDoctor.Doctor_Id, calendar.CalendarId), dayId, ClassSQLConnections.GetOfficeIdForDoctor(ClassLoggedDoctor.Doctor_Id), ClassLoggedDoctor.Doctor_Id, day.Date); } } ClassSqlCalendar.UpdateCalendarStatus(ClassSqlCalendar.SelectStatusId(EnumStatus.AcceptedByTheDoctor), calendar.CalendarId); NavigationService.Navigate(new WindowDoctorNewCalendarEmpty()); }
public static void CalculateCourseSchedule(this ClassCalendar classCalendar) { var areArgumentsValid = classCalendar != null && classCalendar.BeginDate.HasValue && classCalendar.LessonCalendars != null && classCalendar.LessonCalendars.Any(); if (!areArgumentsValid) { return; } classCalendar.Holidays = classCalendar.Holidays ?? Enumerable.Empty <DateTime>(); classCalendar.ShiftDays = classCalendar.ShiftDays ?? Enumerable.Empty <DateTime>(); const int ShiftOneDay = 1; const int LessonDuration = 5; var currentBeginDate = classCalendar.BeginDate.Value.ToUniversalTime(); var shiftDays = (classCalendar.ShiftDays ?? Enumerable.Empty <DateTime>()).Select(it => it.ToUniversalTime()); var lessonQry = classCalendar.LessonCalendars.Where(it => !it.DeletedDate.HasValue).OrderBy(it => it.Order); foreach (var lesson in lessonQry) { // Set begin date for each lesson var list = new List <DateTime>(); var beginDateOfferDay = 0; while (list.Count < LessonDuration) { var date = currentBeginDate.AddDays(beginDateOfferDay++); if (!shiftDays.Any(it => it == date)) { list.Add(date); } } lesson.BeginDate = list.First(); currentBeginDate = list.Last().AddDays(ShiftOneDay); // Set topic of the day date foreach (var totd in lesson.TopicOfTheDays) { var sendDay = totd.SendOnDay - ShiftOneDay; totd.RequiredSendTopicOfTheDayDate = lesson.BeginDate.AddDays(sendDay); } } classCalendar.ExpiredDate = currentBeginDate.AddDays(-1); }
private ClassCalendar createClassCalendar(ClassRoom classRoom, IEnumerable <LessonCatalog> lessonCatalogs, DateTime currentTime) { var lessonOrderRunner = 1; var lessonCalendars = classRoom.Lessons.Select(it => { var lessonCatalog = lessonCatalogs.FirstOrDefault(lc => lc.id == it.LessonCatalogId); if (lessonCatalog == null) { return(null); } var topicOfTheDays = lessonCatalog.TopicOfTheDays.Select(totd => new ClassCalendar.TopicOfTheDay { id = Guid.NewGuid().ToString(), CreatedDate = currentTime, Message = totd.Message, SendOnDay = totd.SendOnDay, RequiredSendTopicOfTheDayDate = currentTime }).ToList(); var result = new ClassCalendar.LessonCalendar { id = Guid.NewGuid().ToString(), Order = lessonOrderRunner++, BeginDate = currentTime.Date, CreatedDate = currentTime, LessonId = it.id, SemesterGroupName = lessonCatalog.SemesterName, TopicOfTheDays = topicOfTheDays }; return(result); }).Where(it => it != null).ToList(); var classCalendar = new ClassCalendar { id = Guid.NewGuid().ToString(), BeginDate = currentTime.Date, ClassRoomId = classRoom.id, CreatedDate = currentTime, Holidays = Enumerable.Empty <DateTime>(), ShiftDays = Enumerable.Empty <DateTime>(), LessonCalendars = lessonCalendars, }; return(classCalendar); }
//Remove calendar private void ButtonRemoveCalendar_Click(object sender, RoutedEventArgs e) { try { ClassCalendar callendar = GetCalendarForSelectedCalendarInComboboxFromDataBase(); if (callendar.Status.StatusId != sql.SelectStatusId(EnumStatus.New)) { throw new Exception("To remove calendar status must be new"); } sql.DeleteCalendarAndApropriateCalendarDays(callendar.CalendarId); MessageBox.Show("Calendar succesfully deleted"); ComboBoxPickDate.ItemsSource = sql.CalendarList(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private ClassCalendarDay GetCalendarDayOrGenerateIt(object sender, ClassCalendar calendar) { if (!(sender is Button)) { return(GetCalendarDayForSelectedCalendarDayInDataGridFromDataBase(calendar.CalendarId)); } ClassCalendarDay day = new ClassCalendarDay(); day.Calendar = new ClassCalendar(); day.Calendar.CalendarId = calendar.CalendarId; day.StartTime = new TimeSpan(7, 0, 0); day.EndTime = new TimeSpan(20, 0, 0); day.Day = 1; int year = ((ClassCalendar)ComboBoxPickDate.SelectedItem).Year; int month = ((ClassCalendar)ComboBoxPickDate.SelectedItem).Month; return(day); }
private void LoadDateToGrid() { if (ComboBoxPickCalendar.SelectedIndex == -1) { CurrentMonthDataGrid.ItemsSource = null; return; } try { ClassCalendar calendar = GetCalendarForSelectedCalendarInComboboxFromDataBase(); CurrentMonthDataGrid.ItemsSource = ClassSqlCalendar.ListOfCalendarDays(calendar.CalendarId); days = ClassSqlCalendar.ListOfCalendarDays(calendar.CalendarId); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private GetCourseScheduleRespond getCourseSchedule(ClassCalendar classCalendar, bool isComplete) { const int LessonDuration = 5; var runningLessonId = 1; var result = new GetCourseScheduleRespond { IsComplete = isComplete, BeginDate = classCalendar.BeginDate, EndDate = classCalendar.LessonCalendars.OrderBy(it => it.Order).Last().BeginDate.AddDays(LessonDuration), Lessons = classCalendar.LessonCalendars.Select(it => new LessonSchedule { BeginDate = it.BeginDate, Name = string.Format("Lesson {0}", runningLessonId++) }).ToList(), Holidays = classCalendar.Holidays ?? Enumerable.Empty <DateTime>() }; return(result); }
private void calculateCourseSchedule(ClassCalendar classCalendar) { var areArgumentsValid = classCalendar != null && classCalendar.BeginDate.HasValue && classCalendar.LessonCalendars != null && classCalendar.LessonCalendars.Any(); if (!areArgumentsValid) { return; } const int LessonDuration = 5; var currentBeginDate = classCalendar.BeginDate.Value.Date; var shiftDays = (classCalendar.ShiftDays ?? Enumerable.Empty <DateTime>()).Select(it => it.Date); var holidays = (classCalendar.Holidays ?? Enumerable.Empty <DateTime>()).Select(it => it.Date); var lessonQry = classCalendar.LessonCalendars.Where(it => !it.DeletedDate.HasValue).OrderBy(it => it.Order); foreach (var lesson in lessonQry) { while (true) { var beginDate = currentBeginDate; var endDate = currentBeginDate.AddDays(LessonDuration); var lessonRange = Enumerable.Range(0, LessonDuration).Select(it => beginDate.AddDays(it).Date); var availableRange = lessonRange.Except(holidays); if (availableRange.Any()) { lesson.BeginDate = availableRange.First(); var totalShiftDayInLessonRange = lessonRange.Intersect(shiftDays).Count(); var nextBeginDate = endDate.AddDays(totalShiftDayInLessonRange); currentBeginDate = nextBeginDate; break; } else { const int ShiftOneDayForNextLesson = 1; var nextBeginDate = endDate.AddDays(ShiftOneDayForNextLesson); currentBeginDate = nextBeginDate; } } } }
/// <summary> /// อัพเดทหรือเพิ่มข้อมูล Class calendar /// </summary> /// <param name="data">ข้อมูลที่ต้องการดำเนินการ</param> public void UpsertClassCalendar(ClassCalendar data) { var update = Builders <ClassCalendar> .Update .Set(it => it.BeginDate, data.BeginDate) .Set(it => it.ExpiredDate, data.ExpiredDate) .Set(it => it.CloseDate, data.CloseDate) .Set(it => it.ClassRoomId, data.ClassRoomId) .Set(it => it.CreatedDate, data.CreatedDate) .Set(it => it.DeletedDate, data.DeletedDate) .Set(it => it.LessonCalendars, data.LessonCalendars) .Set(it => it.Holidays, data.Holidays) .Set(it => it.ShiftDays, data.ShiftDays); var updateOption = new UpdateOptions { IsUpsert = true }; _mongoUtil.GetCollection <ClassCalendar>(TableName) .UpdateOne(it => it.id == data.id, update, updateOption); }
private void ReloadData() { if (ComboBoxPickDate.SelectedIndex == -1) { DataGridListOfDoctors.ItemsSource = null; DataGridListOfCalendarDoctor.ItemsSource = null; Status_Label.Text = "..."; return; } try { ClassCalendar calendar = GetCalendarForSelectedCalendarInComboboxFromDataBase(); DataGridListOfDoctors.ItemsSource = sql.ListOfCalendarDays(calendar.CalendarId); DataGridListOfCalendarDoctor.ItemsSource = sql.ListOfCalendarDoctor(calendar.CalendarId); LoadStatusToLabel(calendar); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
//Remove calendar day private void ButtonRemove_Click(object sender, RoutedEventArgs e) { try { ClassCalendar calendar = GetCalendarForSelectedCalendarInComboboxFromDataBase(); if (calendar.Status.StatusId != sql.SelectStatusId(EnumStatus.New)) { throw new Exception("Calendar status must be new"); } ClassCalendarDay day = GetCalendarDayForSelectedCalendarDayInDataGridFromDataBase(calendar.CalendarId); if (!(MessageBox.Show("Are you sure you want to delete this day?", "Continue?", MessageBoxButton.YesNo) == MessageBoxResult.Yes)) { return; } sql.DeleteCalendarDay(day.CalendarDayId); ReloadData(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private List <ClassCalendarDay> ListOfAvaiableDates() { ClassCalendar calendar = GetCalendarForCurrentDate(); List <ClassCalendarDay> allAvailableDays = ClassSqlCalendar.ListOfCalendarDays(calendar.CalendarId); List <ClassTerm> workingDays = ClassSqlCalendar.GetListOfWorkingDayInCurrentMonth(ClassLoggedDoctor.Doctor_Id); List <ClassCalendarDay> avaiableDates = new List <ClassCalendarDay>(); foreach (ClassTerm term in workingDays) { foreach (ClassCalendarDay day in allAvailableDays) { if (term.Date == day.DateInDateTime) { avaiableDates.Add(day); } } } avaiableDates = allAvailableDays.Except(avaiableDates).ToList(); return(avaiableDates); }
/// <summary> /// อัพเดทหรือเพิ่มข้อมูล Class calendar /// </summary> /// <param name="data">ข้อมูลที่ต้องการดำเนินการ</param> public void UpsertClassCalendar(ClassCalendar data) { var update = Builders <ClassCalendar> .Update .Set(it => it.BeginDate, data.BeginDate) .Set(it => it.IsWeekendHoliday, data.IsWeekendHoliday) .Set(it => it.ExpiredDate, data.ExpiredDate) .Set(it => it.CloseDate, data.CloseDate) .Set(it => it.ClassRoomId, data.ClassRoomId) .Set(it => it.LastCalculateHolidayRequest, data.LastCalculateHolidayRequest) .Set(it => it.LastCalculateHolidayComplete, data.LastCalculateHolidayComplete) .Set(it => it.CreatedDate, data.CreatedDate) .Set(it => it.DeletedDate, data.DeletedDate) .Set(it => it.LessonCalendars, data.LessonCalendars) .Set(it => it.Holidays, data.Holidays) .Set(it => it.ShiftDays, data.ShiftDays); var updateOption = new UpdateOptions { IsUpsert = true }; MongoAccess.MongoUtil.Instance.GetCollection <ClassCalendar>(TableName) .UpdateOne(it => it.id == data.id, update, updateOption); }
//Share calendar private void ButtonShare_Click(object sender, RoutedEventArgs e) { try { ClassCalendar calendar = GetCalendarForSelectedCalendarInComboboxFromDataBase(); if (calendar.Status.StatusId != sql.SelectStatusId(EnumStatus.New)) { throw new Exception("Calendar status must be new"); } ClassGenerateCalendar.ShareCalendar(calendar, sql); MessageBox.Show("Succesfully shared calendar"); ComboBoxPickDate.ItemsSource = sql.CalendarList(); if (ComboBoxPickDate.Items.Count == 0) { return; } ComboBoxPickDate.SelectedIndex = ComboBoxPickDate.Items.Count - 1; } catch (Exception ex) { MessageBox.Show(ex.Message, "Error"); } }
/// <summary> /// สร้าง Class calendar ใหม่ /// </summary> /// <param name="data">ข้อมูล Class calendar ที่ต้องการสร้าง</param> public async Task CreateNewClassCalendar(ClassCalendar data) { await _mongoUtil.GetCollection <ClassCalendar>(TableName).InsertOneAsync(data); }
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 static UserActivity CreateNewUserActivity(this UserProfile selectedUserProfile, ClassRoom selectedClassRoom, ClassCalendar selectedClassCalendar, List <LessonCatalog> lessonCatalogs, DateTime now) { var lessonActivities = selectedClassRoom.Lessons.Select(lessonInClassRoom => { var selectedLessonCalendar = selectedClassCalendar.LessonCalendars .Where(it => !it.DeletedDate.HasValue) .FirstOrDefault(lessonCalendar => lessonCalendar.LessonId == lessonInClassRoom.id); var selectedLessonCatalog = lessonCatalogs.FirstOrDefault(it => it.id == lessonInClassRoom.LessonCatalogId); var totalContentsAmount = selectedLessonCatalog.PostAssessments.Count() + selectedLessonCatalog.PreAssessments.Count() + selectedLessonCatalog.StudentItems.Count() + selectedLessonCatalog.TeacherItems.Count(); return(new UserActivity.LessonActivity { id = Guid.NewGuid().ToString(), BeginDate = selectedLessonCalendar.BeginDate, TotalContentsAmount = totalContentsAmount, LessonId = lessonInClassRoom.id, SawContentIds = Enumerable.Empty <string>() }); }).ToList(); var userActivity = new UserActivity { id = Guid.NewGuid().ToString(), UserProfileName = selectedUserProfile.Name, UserProfileImageUrl = selectedUserProfile.ImageProfileUrl, UserProfileId = selectedUserProfile.id, ClassRoomId = selectedClassRoom.id, CreatedDate = now, LessonActivities = lessonActivities }; return(userActivity); }