private ScheduleEntryBaseViewModel createAppointment(ScheduleEntryBaseDTO item) { if (item is ScheduleEntryDTO) { return(new ScheduleEntryViewModel(item, calendar)); } return(new ScheduleChampionshipViewModel(item, calendar)); }
public void Fill(ScheduleEntryBaseDTO entry) { Object = entry; foreach (var categoryDto in this.entry.Categories) { WinCategories.Add(new ChampionshipCategoryViewModel(categoryDto)); } }
void update(ScheduleEntryBaseDTO entry) { var res = Entries.Where(x => x.Item.Equals(entry)).SingleOrDefault(); if (res != null) { res.Item = entry; if (SelectedAppointment.Item == entry) { var reservation = SelectedReservation != null ? SelectedReservation.Reservation : null; SelectedAppointment = res; if (reservation != null) { var newReservation = Reservations.Where(x => x.Reservation == reservation).SingleOrDefault(); SelectedReservation = newReservation; } } } updateButtons(); }
public ScheduleEntryViewModel(ScheduleEntryBaseDTO entry, ScheduleEntriesCalendar calendar) : base(entry, calendar) { }
public ScheduleEntryBaseViewModel(ScheduleEntryBaseDTO entry, ScheduleEntriesCalendar calendar) { this.entry = entry; this.calendar = calendar; myPlacesCache = MyPlacesReposidory.GetCache(null); }
void reservationOperation(IList <BAGlobalObject> objects, Func <BAGlobalObject, ReservationsOperationParam> createReservationsOperationParam) { var selectedApp = SelectedAppointment; selectedApp.IsRunning = true; var cancelToken = parentView.RunAsynchronousOperation(delegate(OperationContext context) { for (int i = objects.Count - 1; i >= 0; i--) { var reservation = objects[i]; ScheduleEntryBaseDTO entry = null; try { if (context != null && context.CancellatioToken.IsCancellationRequested) { break; } var param = createReservationsOperationParam(reservation); if (param == null) { continue; } var res = ServiceManager.ReservationsOperation(param); entry = res.ScheduleEntry; if (entry is ScheduleChampionshipDTO) { ChampionshipsReposidory.Instance.Reset(); } } catch (ConsistencyException ex) { parentView.SynchronizationContext.Send( delegate { ExceptionHandler.Default.Process(ex, "ScheduleEntriesDesignViewModel_ErrChampionshipWithoutCategories".TranslateInstructor(), ErrorWindow.MessageBox); }, null); } catch (AlreadyOccupiedException ex) { parentView.SynchronizationContext.Send( delegate { //TODO: this message doesn't make sense for cancel ExceptionHandler.Default.Process(ex, "AlreadyOccupiedException_ScheduleEntriesDesignViewModel_reservationOperation".TranslateInstructor(), ErrorWindow.MessageBox); }, null); } catch (Exception ex) { parentView.SynchronizationContext.Send( delegate { ExceptionHandler.Default.Process(ex, "Exception_ScheduleEntriesDesignViewModel_reservationOperation".TranslateInstructor(), ErrorWindow.EMailReport); }, null); } if (entry != null) { parentView.SynchronizationContext.Send(state => update(entry), null); } } parentView.SynchronizationContext.Send(delegate { selectedApp.IsRunning = false; calendar.RefreshAppointments(); updateButtons(); }, null); }); selectedApp.CancellationToken = cancelToken; }
public void Fill(ScheduleEntryBaseDTO entry) { Object = entry; }