public async Task SyncMetricIdeaList() { var teamService = new TeamsService(); var teams = await teamService.GetJoinedTeamsAsync(); var plannerService = new PlannerService(teamService); var allIdeas = new List <Idea>(); foreach (var team in teams) { var operation = $"Sync ideas in team {team?.DisplayName}"; LogService.LogOperationStarted(operation); var ideas = (await plannerService.GetIdeasInTeamAsync(team)) .OrderBy(idea => idea.Id); allIdeas.AddRange(ideas); var items = GetMetricIdeaItemsByTeamID(team.Id) .OrderBy(item => item[SPLists.MetricIdeas.Columns.TaskId]); try { SyncIdeasAndListItems(ideas, items); } catch (Exception ex) { LogService.LogError(ex); } LogService.LogOperationEnded(operation); } { var operation = $"Sync ideas whose metric is other"; LogService.LogOperationStarted(operation); var items = GetOtherMetricIdeaItems(); var ideaIds = items.Select(i => i[SPLists.MetricIdeas.Columns.TaskId] as string).ToArray(); var ideas = allIdeas.Where(i => ideaIds.Contains(i.Id)); SyncIdeasAndListItems(ideas, items); LogService.LogOperationEnded(operation); } }
public PlannerService(TeamsService teamService) { this.teamService = teamService; }
public PlannerService() { teamService = new TeamsService(); }