private void AddDevChangeSets(StringBuilder contentBuilder, List <MergeRequest> mergeRequests, string devBranchName) { var requestsMergeToDev = RequestsMergeToTargetBranch(mergeRequests, devBranchName); if (!requestsMergeToDev.Any()) { return; } var devChangeSets = from request in requestsMergeToDev group request by request.SourceBranch into devGroup orderby devGroup.Key select new { SourceBranch = devGroup.Key, Requests = devGroup }; devChangeSets.ToList() .ForEach(changeSetGroup => { contentBuilder.AppendLine(_mailTemplate.GenerateSectionTitle(changeSetGroup.SourceBranch, "DEV")); changeSetGroup.Requests .OrderBy(r => r.ChangeSetId) .ToList().ForEach(request => { contentBuilder.AppendLine(_mailTemplate.GenerateDevChangeSet(request.ChangeSetId.ToString(), request.Memo)); }); contentBuilder.Append(_mailTemplate.GenerateNewLine()); }); }