コード例 #1
0
        public async Task CreateAndActivateNewMTSFPlan()
        {
            try
            {
                Logger.Info("Star Creating Plan");
                var plans = await _hubCommunicator.GetPlansByName("MonitorSubmissionTerminalForm", PlanVisibility.Internal);

                var tokens = await _hubCommunicator.GetTokens();

                googleTokens    = tokens.Where(t => t.Name == "terminalGoogle").FirstOrDefault();
                atlassianTokens = tokens.Where(t => t.Name == "terminalAtlassian").FirstOrDefault();
                slackTokens     = tokens.Where(t => t.Name == "terminalSlack").FirstOrDefault();
                if (plans.Count() == 0)
                {
                    await ConfigureAndRunPlan();
                }
                else
                {
                    Logger.Info("Plan already exist");
                    var plan = plans.FirstOrDefault();
                    if (plan.SubPlans.FirstOrDefault().Activities.Count < 8)
                    {
                        Logger.Info("Deleting incomplete Plan");
                        await _hubCommunicator.DeletePlan(plan.Id);

                        await ConfigureAndRunPlan();
                    }
                    Logger.Info("trying to reapply tokens");
                    //Reapllying tokens if they were revoked previously
                    await ReApplyTokens(plans.FirstOrDefault());
                }
            }
            catch (Exception e)
            {
                Logger.Error("Couldn't create MonitorTerminalSubmissionForm Plan", e);
                throw new ApplicationException("Couldn't create MonitorTerminalSubmissionForm Plan", e);
            }
        }