/// <summary> /// Send an event instance to server and updates the corresponding row in database /// </summary> /// <param name="parameter"></param> public void AddOrUpdateEventInDatabase(object parameter) { IObservable <string> reply = EventServiceProxy.AddOrUpdateEvent(this.UpcomingEventInFull.ToWCFUpcomingEventDTO()) .ObserveOn(SynchronizationContext.Current); reply.Subscribe(rx => MessageBox.Show(rx)); IObservable <ObservableCollection <UpcomingEventShortDTO> > events = EventServiceProxy.FetchEventsByMonth( this.DesiredMonth.Month).ObserveOn(SynchronizationContext.Current); events.Subscribe(eve => this.Weeks = WeekFactory.WeekBuilder(this.DesiredMonth, eve)); }
/// <summary> /// Retrieves events by month and creates a week collection. /// </summary> /// <param name="parameter"></param> private void FetchEventsByMonth(object parameter) { if (parameter == null) { this.DesiredMonth = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1); } else { int monthIncrement = ((MouseWheelEventArgs)parameter).Delta; if (monthIncrement > 0) { this.DesiredMonth = this.DesiredMonth.AddMonths(-1); } else { this.DesiredMonth = this.DesiredMonth.AddMonths(1); } } IObservable <ObservableCollection <UpcomingEventShortDTO> > events = EventServiceProxy.FetchEventsByMonth(this.DesiredMonth.Month).ObserveOn(SynchronizationContext.Current); events.Subscribe(eve => this.Weeks = WeekFactory.WeekBuilder(this.DesiredMonth, eve)); }