示例#1
0
        private void OpenCalendar(object sender)
        {
            if (!(sender is RequestItemViewModel))
            {
                return;
            }
            var requestModel = sender as RequestItemViewModel;
            var model        = new CalendarDialogViewModel(_requestService, requestModel.RequestId);

            if (requestModel.SelectedExecuter == null)
            {
                MessageBox.Show(_view, "Необходимо выбрать исполнителя!");
                return;
            }
            var sched = _requestService.GetScheduleTasks(requestModel.SelectedExecuter.Id, DateTime.Now.Date.AddDays(-7),
                                                         DateTime.Now.Date.AddDays(14));
            var app = sched.Select(s => new Appointment()
            {
                Id         = s.Id,
                RequestId  = s.RequestId,
                Subject    = string.Format($"{0}", s.RequestId),
                StartTime  = s.FromDate,
                EndTime    = s.ToDate,
                WorkerInfo = s.Worker.FullName
            });

            model.ScheduleTaskList = new ObservableCollection <Appointment>(app);
            var view = new CalendarDialog(model);

            view.DataContext = model;
            model.SetView(view);
            view.ShowDialog();
            var t = model;

            requestModel.SelectedAppointment = model.ScheduleTaskList.LastOrDefault(s => s.Id == 0);
        }