public async Task <ImportStatisticsResponse[]> GetImportStatisticsAsync(GetImportsReportRequest reqest) { var result = new List <ImportStatisticsResponse>(); if (reqest.SelectedTypes.Contains(LabelingType.Transcription)) { result.AddRange(await GetTranscriptionStatistics(reqest)); } if (reqest.SelectedTypes.Contains(LabelingType.FullConversationMoments)) { result.AddRange(await importsRepository.GetFCMomentStatisticsAsync()); } return(result.Where(item => item.UploadedRecords > 0).OrderBy(item => item.Id).ToArray()); }
private async Task <ImportStatisticsResponse[]> GetTranscriptionStatistics(GetImportsReportRequest reqest) { var transcriptionStatistics = await importsRepository.GetTranscriptionStatisticsAsync(); if (reqest.SelectedInstanceId.HasValue) { transcriptionStatistics = transcriptionStatistics.Where(item => item.InstanceId == reqest.SelectedInstanceId.Value).ToArray(); } if (reqest.SelectedCampaignsIds.Any()) { transcriptionStatistics = transcriptionStatistics.Where(item => reqest.SelectedCampaignsIds.Any(campaingId => campaingId == item.CampaignId)).ToArray(); } return(transcriptionStatistics); }
public async Task <ImportStatisticsResponse[]> GetImportStatistics([FromBody] GetImportsReportRequest reqest) => await labelingStatisticsService.GetImportStatisticsAsync(reqest);