private string GetSql(RecieverCollection recievers) { var includeAllCodes = IsIncludeAllCodes(recievers); string sql; if (includeAllCodes) { sql = QueryStore.ProblemCountForSource(); } else { var codes = GetSourceCodesFromRecievers(recievers); sql = QueryStore.ProblemCountForSource(codes.ToList()); } return sql; }
private bool IsIncludeAllCodes(RecieverCollection recievers) { return recievers.Cast<Reciever>().Any(r => r.SourceList.Count == 0); }
private IEnumerable<string> GetSourceCodesFromRecievers(RecieverCollection recievers) { return recievers.Cast<Reciever>().SelectMany(c => c.SourceList).Distinct(); }