/// <summary> /// Processes the email. /// </summary> /// <param name="testQueue">The test queue.</param> /// <param name="groupName">Name of the group.</param> /// <param name="schedulerExecutionStatus">The scheduler execution status.</param> private static void ProcessEmail(ResultMessage <List <TestQueue> > testQueue, string groupName, SchedulerExecutionStatus schedulerExecutionStatus) { var emailStatus = SchedulerHistoryEmailStatus.NotSent; if (testQueue != null && testQueue.Item != null && groupName.IsNotBlank()) { var schedulerIds = testQueue.Item.Select(x => x.SchedulerId).Distinct(); var resultData = TestDataApi.Post <SearchReportObject, SearchReportResult>(EndPoints.ReportSearch, new SearchReportObject { ExecutionGroup = groupName }); if (resultData == null || resultData.IsError) { emailStatus = SchedulerHistoryEmailStatus.SendException; } else if (resultData.Item != null) { var emailProcessor = new EmailProcessor(); foreach (var schedulerId in schedulerIds) { if (!schedulerId.HasValue) { continue; } var schedularData = TestDataApi.Get <Scheduler>(string.Format(EndPoints.SchedulerById, schedulerId)); if (schedularData != null && !schedularData.IsError && schedularData.Item != null) { schedularData.Item.Status = schedulerExecutionStatus; var repostData = new ReportResultData(resultData.Item.Data, schedularData.Item, groupName); emailStatus = emailProcessor.EmailReport(repostData); } } } } TestDataApi.Post(string.Format(EndPoints.SchedulerHistoryEmailStatus, groupName, (int)emailStatus), new List <SchedulerHistory>()); }