private async Task <CodeHubWorkItemList> GetAllWorkItemsFromProvider(Organization organization) { try { var connection = CreateConnection(organization); var client = connection.CreateTicketClient(); var tickets = await client.GetTicketListAsync(); var ticketList = tickets.ToList(); var workItems = new CodeHubWorkItemList { WorkItems = _mapper.Map <List <CodeHubWorkItem> >(ticketList) }; foreach (var ticket in workItems.WorkItems) { ticket.Color = organization.Color; ticket.ProviderType = StaticWorkProviderTypes.Zammad; ticket.ProviderOrganization = organization.Name; ticket.OrganizationId = organization.Id; ticket.WorkItemType = "Ticket"; } return(workItems); } catch (Exception e) { _logger.LogError($"Exception while fetching Zammad items: {e}"); throw; } }
public async Task <CodeHubWorkItemList> GetAllAvailableWorkItemsFromWorkProviders(bool clearCache) { var items = new CodeHubWorkItemList { WorkItems = new List <CodeHubWorkItem> { } }; var stopwatch = new Stopwatch(); stopwatch.Start(); var devOpsItems = await _devOpsManager.GetAllWorkItemsFromCache(clearCache); items.WorkItems.AddRange(devOpsItems.WorkItems); var zammadTickets = await _zammadManager.GetAllWorkItemsFromCache(clearCache); items.WorkItems.AddRange(zammadTickets.WorkItems); stopwatch.Stop(); items.WorkItems = items.WorkItems.OrderBy(s => s.ChangedDate).ToList(); Logger.LogDebug($"Received {devOpsItems.WorkItems.Count} DevOps Work Items and {zammadTickets.WorkItems.Count} Zammad Tickets. Took: {stopwatch.ElapsedMilliseconds}ms"); return(items); }
public async Task <CodeHubWorkItemList> GetAllWorkItemsFromCache(bool clearCache) { var workProviders = await _organizationsService.GetWorkProviderOrganizations(); var allWorkItems = new CodeHubWorkItemList { WorkItems = new List <CodeHubWorkItem>() }; foreach (var organization in workProviders.Where(organization => organization.ProviderType == WorkProviderType.DevOps)) { allWorkItems.WorkItems.AddRange(await GetDevOpsItems(organization, clearCache)); } return(allWorkItems); }
public async Task <CodeHubWorkItemList> GetAllWorkItems() { try { var allWorkItems = new CodeHubWorkItemList { WorkItems = new List <CodeHubWorkItem>() }; foreach (var organization in await GetProviderOrganizationsAsync()) { allWorkItems.WorkItems.AddRange((await GetWorkItems(organization)).WorkItems); } allWorkItems.WorkItems = allWorkItems.WorkItems.OrderByDescending(s => s.ChangedDate).ToList(); return(allWorkItems); } catch (Exception e) { _logger.LogError(e.ToString()); throw; } }
public async Task <CodeHubWorkItemList> GetAllWorkItemsFromCache(bool clearCache) { try { var workProviders = await _organizationsService.GetWorkProviderOrganizations(); var allWorkItems = new CodeHubWorkItemList { WorkItems = new List <CodeHubWorkItem>() }; foreach (var organization in workProviders.Where(organization => organization.ProviderType == WorkProviderType.Zammad)) { allWorkItems.WorkItems.AddRange(await GetZammadItems(organization, clearCache)); } allWorkItems.WorkItems = allWorkItems.WorkItems.OrderByDescending(s => s.ChangedDate).ToList(); return(allWorkItems); } catch (Exception e) { _logger.LogError(e.ToString()); throw; } }