public async Task <ActionResult> Task(Guid?id, Guid?planId, Guid?objectiveId, Guid personId, Guid recordId)
        {
            if (id.HasValue)
            {
                var response = await ExecuteMicrosoftHealthVaultRestApiAsync(api => api.ActionPlanTasks.GetByIdAsync(id.ToString()), personId, recordId);

                return(View(response));
            }

            var task = new ActionPlanTaskInstanceV2();

            if (planId.HasValue)
            {
                task.AssociatedPlanId = planId.Value.ToString();
            }

            if (objectiveId.HasValue)
            {
                task.AssociatedObjectiveIds = new Collection <string> {
                    objectiveId.Value.ToString()
                };
            }

            return(View(task));
        }
 private async Task HandleTaskSelectedAsync(ActionPlanTaskInstanceV2 task)
 {
     if (task.TrackingPolicy.IsAutoTrackable == true)
     {
         var xpath = task.TrackingPolicy.TargetEvents.FirstOrDefault().ElementXPath;
         if (xpath.Contains("thing/data-xml/weight"))
         {
             var weightAddPage = new WeightAddPage
             {
                 BindingContext = new WeightAddViewModel(_connection, NavigationService),
             };
             await NavigationService.NavigateAsync(weightAddPage);
         }
     }
 }
        public async Task <ActionResult> Task(Guid?id, ActionPlanTaskInstanceV2 task, Guid personId, Guid recordId)
        {
            if (id.HasValue && id.Value != Guid.Empty)
            {
                await ExecuteMicrosoftHealthVaultRestApiAsync(api => api.ActionPlanTasks.UpdateAsync(task), personId, recordId);
            }
            else
            {
                task.TrackingPolicy = new ActionPlanTrackingPolicy
                {
                    IsAutoTrackable = false
                };

                await ExecuteMicrosoftHealthVaultRestApiAsync(api => api.ActionPlanTasks.CreateAsync(task.AsActionPlanTaskV2()), personId, recordId);
            }

            return(RedirectToAction("Plan", new { id = task.AssociatedPlanId, personId, recordId }));
        }
 public static ActionPlanTaskV2 AsActionPlanTaskV2(this ActionPlanTaskInstanceV2 instance)
 {
     return(JsonConvert.DeserializeObject <ActionPlanTaskV2>(JsonConvert.SerializeObject(instance)));
 }
Пример #5
0
 /// <summary>
 /// Put an update for an action plan task
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='actionPlanTask'>
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <ActionPlanTasksResponseActionPlanTaskInstanceV2> ReplaceAsync(this IActionPlanTasks operations, ActionPlanTaskInstanceV2 actionPlanTask, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
 {
     using (var _result = await operations.ReplaceWithHttpMessagesAsync(actionPlanTask, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
Пример #6
0
 /// <summary>
 /// Put an update for an action plan task
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='actionPlanTask'>
 /// </param>
 public static ActionPlanTasksResponseActionPlanTaskInstanceV2 Replace(this IActionPlanTasks operations, ActionPlanTaskInstanceV2 actionPlanTask)
 {
     return(operations.ReplaceAsync(actionPlanTask).GetAwaiter().GetResult());
 }