private async void GetActivitiesButton_OnClick(object sender, RoutedEventArgs e) { TimelinesResource timelines = await ExecuteAsync((client, cancellationToken) => client.GetTimelinesAsync(cancellationToken)); if (timelines == null) { return; } if (timelines.Timelines == null || timelines.Timelines.Length == 0) { return; } var window = new TimelinePickerWindow { Owner = this, WindowStartupLocation = WindowStartupLocation.CenterOwner, Timelines = timelines.Timelines, SelectedTimeline = timelines.Timelines.SingleOrDefault(t => t.TimelineId == SelectedTimelineId) ?? timelines.Timelines.FirstOrDefault(), FromTime = DateTime.Today, ToTime = DateTime.Today, SizeToContent = SizeToContent.WidthAndHeight }; if (window.ShowDialog() == true && window.FromTime != null && window.ToTime != null) { SelectedTimelineId = window.SelectedTimeline.TimelineId; TimelineResource timeline = await ExecuteAsync((client, cancellationToken) => client.GetActivitiesByTimelineIdAsync( SelectedTimelineId, window.FromTime.Value, window.ToTime.Value.AddDays(1), cancellationToken)); RefreshUpdatedActivitiesUrl(timeline); } }
private async void SendActivityUpdatesButton_OnClick(object sender, RoutedEventArgs e) { TimelinesResource timelines = await ExecuteAsync((client, cancellationToken) => client.GetTimelinesAsync(cancellationToken)); if (timelines == null || timelines.Timelines == null || timelines.Timelines.Length == 0) { return; } var window = new SendActivityUpdatesWindow { Owner = this, WindowStartupLocation = WindowStartupLocation.CenterOwner, Timelines = timelines.Timelines, SelectedTimeline = timelines.Timelines.SingleOrDefault(t => t.TimelineId == SelectedTimelineId) ?? timelines.Timelines.FirstOrDefault(), SizeToContent = SizeToContent.WidthAndHeight }; if (window.ShowDialog() == true) { SelectedTimelineId = window.SelectedTimeline.TimelineId; var activityUpdates = new ActivityUpdatesResource { ClientEnvironment = window.SelectedTimeline.ClientEnvironment, TimelineKey = window.SelectedTimeline.TimelineKey, Activities = window.Activities, DeletedActivityIds = window.DeletedActivityIds, GroupLists = window.GroupLists, DeletedGroupListIds = window.DeletedGroupListIds, Groups = window.Groups, DeletedGroupIds = window.DeletedGroupIds }; await ExecuteAsync((client, cancellationToken) => client.SendActivityUpdates(SelectedTimelineId, activityUpdates, cancellationToken)); } }
public async Task <TimelineResource> GetActivitiesByTimelineIdAsync(string timelineId, DateTime fromTime, DateTime toTime, CancellationToken cancellationToken) { TimelinesResource timelines = await GetTimelinesAsync(cancellationToken); var timeline = timelines == null || timelines.Timelines == null ? null : timelines.Timelines.SingleOrDefault(tr => tr.TimelineId == timelineId); string activitiesUrl = timeline == null ? null : timeline.Links.Url(Relations.Activities); if (activitiesUrl == null) { return(null); } return(await GetActivitiesByUrlAsync(activitiesUrl, fromTime, toTime, cancellationToken)); }
public async Task <UpdateStateResource> SendActivityUpdates(string timelineId, ActivityUpdatesResource activityUpdates, CancellationToken cancellationToken) { TimelinesResource timelines = await GetTimelinesAsync(cancellationToken); var timeline = timelines == null || timelines.Timelines == null ? null : timelines.Timelines.SingleOrDefault(tr => tr.TimelineId == timelineId); if (timeline == null) { throw new InvalidOperationException("Cannot update activities. Timeline not found."); } string activityUpdatesUrl = timeline.Links.Url(Relations.ActivityUpdates); if (activityUpdatesUrl == null) { throw new InvalidOperationException("Cannot update activities. Activity updates url not found."); } return(await SendAsync <UpdateStateResource>(activityUpdatesUrl, HttpMethod.Post, activityUpdates, cancellationToken)); }