public override AppointmentBookViewModel Convert(IAppointmentBookDataSource dataSource, DateTime timePeriodStart, TimePeriodType timeView, AppointmentBookViewModelFilter columnFilter)
        {
            DateTime startTime;
            DateTime endTime;

            switch (timeView)
            {
            case TimePeriodType.Monthly:
                startTime = timePeriodStart.ToBeginningOfMonth();
                endTime   = timePeriodStart.AddMonths(1).ToBeginningOfMonth();
                break;

            default:
                startTime = timePeriodStart.ToMidnight();
                endTime   = timePeriodStart.ToNextDay().ToMidnight();
                break;
            }

            return(new UnallocatedBookViewModel(
                       "Unallocated",
                       from appointment in dataSource.GetAppointments(new UnallocatedColumn())
                       select Convert(appointment),
                       startTime,
                       timeView
                       ));
        }
 public virtual AppointmentBookViewModel Convert(IAppointmentBookDataSource dataSource, DateTime timePeriodStart, TimePeriodType timeView, AppointmentBookViewModelFilter columnFilter)
 {
     return(new AppointmentBookViewModel(
                ConvertColumns(dataSource),
                timePeriodStart,
                timeView,
                columnFilter
                ));
 }
        protected virtual IEnumerable <ColumnViewModel> ConvertColumns(IAppointmentBookDataSource dataSource)
        {
            var appointmentColumnViewModels = new List <ColumnViewModel>();

            foreach (var column in dataSource.GetColumns())
            {
                var appointmentViewModels = new List <AppointmentViewModel>();
                foreach (var appointment in dataSource.GetAppointments(column))
                {
                    appointmentViewModels.Add(Convert(appointment));
                }
                var columnViewModel = Convert(column, appointmentViewModels);
                appointmentColumnViewModels.Add(columnViewModel);
            }
            return(appointmentColumnViewModels);
        }
Exemplo n.º 4
0
 protected AppointmentBook(DataSourceToViewModelConverter viewModelGenerator)
 {
     _dataSource        = null;
     _timePeriodType    = TimePeriodType.DailyHourly;
     _timePeriodStart   = DateTime.Now.ToMidnight();
     _columnFilter      = AppointmentBookViewModelFilter.All;
     _lastDraggedOver   = Tuple.Create(int.MinValue, int.MinValue, false);
     ViewModelGenerator = viewModelGenerator;
     _resizing          = false;
     base.AllowDrop     = true;
     base.GiveFeedback += ResourceCalendar_DragGiveFeedback;
     base.DragEnter    += ResourceCalendar_DragEnter;
     base.DragLeave    += ResourceCalendar_DragLeave;
     base.DragOver     += ResourceCalendar_DragOver;
     base.DragDrop     += ResourceCalendar_DragDrop;
 }