public async Task <IActionResult> GetPerformerDaySchedule(int performerId, DateTime date) { var performerSchedule = await _performerSchedulingService.GetPerformerDateScheduleAsync( performerId, date.Date); var branchSelections = (await _performerSchedulingService .GetPerformerBranchSelectionsAsync(performerId, date)).ToList(); var viewModel = new DayScheduleViewModel { BranchSelections = branchSelections }; var startTime = performerSchedule?.StartTime ?? DefaultPerformerScheduleStartTime; var endTime = performerSchedule?.EndTime ?? DefaultPerformerScheduleEndTime; var earliestSelection = branchSelections .OrderBy(_ => _.ScheduleStartTime) .FirstOrDefault(); var latestSelection = branchSelections .OrderByDescending(_ => _.ScheduleStartTime) .FirstOrDefault(); if (earliestSelection == null || startTime.TimeOfDay < earliestSelection.ScheduleStartTime.TimeOfDay) { viewModel.StartTime = startTime.ToShortTimeString(); } if (latestSelection == null || endTime.TimeOfDay > latestSelection.ScheduleStartTime .AddMinutes(latestSelection.ScheduleDuration).TimeOfDay) { viewModel.EndTime = endTime.ToShortTimeString(); } return(PartialView("_DaySchedulePartial", viewModel)); }
private void PopulateDays(DateTime date) { SetCurrentWeekAndYearNumber(date); DateTime dt = date.StartOfWeek(DayOfWeek.Monday); FirstDayDate = dt.ToShortDateString(); var columnHour = new DayScheduleViewModel(this, dt) { DayHeaderViewModel = new DayHeaderViewModel() { Day = "Ora", }, ContentBackground = BackgroundColors.gray, }; foreach (var appointmentViewModel in columnHour.AppointmetList.List) { appointmentViewModel.DayVisibility = Visibility.Collapsed; appointmentViewModel.PatientName = appointmentViewModel.HourId.Hour; } WeekDays.Add(columnHour); for (int i = 0; i < 7; i++) { WeekDays.Add(new DayScheduleViewModel(this, dt) { DayOfWeek = dt.DayOfWeek.ToString(), DayHeaderViewModel = new DayHeaderViewModel() { Date = dt.Date.ToShortDateString(), Day = dt.DayOfWeek.ToString(), } }); dt = dt.AddDays(1); } LastDayDate = dt.AddDays(-1).ToShortDateString(); }
public AppointmentViewModel(DayScheduleViewModel parent) { Parent = parent; }