Пример #1
0
        private async Task SaveIdea(IDialogContext context, IAwaitable <GraphServiceClient> result)
        {
            var planService = new PlannerService(await result);
            var ideaService = new IdeaService(await result);

            var plan = await planService.GetTeamPlanAsync(Team);

            if (plan == null)
            {
                throw new ApplicationException($"Could not found plan named '{Team.DisplayName}'");
            }

            var plannerTask = await ideaService.CreateAsync(plan.Id, idea.Title, idea.StartDate, idea.Owners.Select(i => i.Id).FirstOrDefault(), idea.Description);

            var plannerTaskUrl = ideaService.GetIdeaUrl(Team.Id, plan.Id, plannerTask.Id);

            try
            {
                var clientContext = await AuthenticationHelper.GetAppOnlySharePointClientContextAsync();

                var metricsService = new MetricsService(clientContext);
                await metricsService.CreateMetricIdeaAsync(metric.Id, plannerTask, Constants.IdeasPlan.Buckets.NewIdea, plannerTaskUrl);
            }
            catch (Exception ex)
            {
                await context.SayAsync("Failed to add item to MetricIdea list: " + ex.Message);
            }

            await context.SayAsync("Idea created.");

            context.Done(idea);
        }
Пример #2
0
        private async Task SaveIdea(IDialogContext context, IAwaitable <GraphServiceClient> result)
        {
            var planService = new PlannerService(await result);
            var ideaService = new IdeaService(await result);

            var plan = await planService.GetTeamPlanAsync(Team);

            if (plan == null)
            {
                throw new ApplicationException($"Could not found plan named '{Team.DisplayName}'");
            }

            var plannerTask = await ideaService.CreateAsync(plan.Id, idea.Title, idea.StartDate, idea.Owners.Select(i => i.Id).FirstOrDefault(), idea.Description);

            var plannerTaskUrl = ideaService.GetIdeaUrl(Team.Id, plan.Id, plannerTask.Id);

            try
            {
                var clientContext = await AuthenticationHelper.GetAppOnlySharePointClientContextAsync();

                var metricsService = new MetricsService(clientContext);
                await metricsService.CreateMetricIdeaAsync(metric.Id, plannerTask, Constants.IdeasPlan.Buckets.NewIdea, plannerTaskUrl);
            }
            catch (Exception ex)
            {
                await context.SayAsync("Failed to add item to MetricIdea list: " + ex.Message);
            }

            await context.SayAsync("Idea created.");

            //var viewAction = new CardAction(ActionTypes.OpenUrl, "View", value: plannerTaskUrl);
            //var heroCard = new HeroCard(
            //    text: "Idea created.",
            //    buttons: new List<CardAction> { viewAction });

            //var message = context.MakeMessage();
            //message.Attachments.Add(heroCard.ToAttachment());
            //await context.PostAsync(message);

            context.Done(idea);
        }