public ClassificationWhereClauseBuilder(List<Guid?> classificationTreeIDs, Aspect.Domain.CommonDomain provider) { if (classificationTreeIDs.Count > 0) { List<Guid?> ids = new List<Guid?>(); foreach (Guid? item in classificationTreeIDs) { if (item.HasValue) { ids.AddRange( provider.GetClassificationTreeChilds(item.Value).ToList().ConvertAll( delegate(Aspect.Domain.GetClassificationTreeChildsResult n){ return n.id; })); ids.Add(item); } //if(item != null) list.Add(string.Format("'{0}'", item.ToString())); } string[] list = ids.Distinct().Where(d => d.HasValue).ToList().ConvertAll(delegate(Guid? n){ return string.Format("'{0}'", n.Value.ToString()); }).ToArray(); if (list.Count() > 0) { Expression.AppendFormat(classificationWhereClauseTemplate, string.Join(",", list)); } } }
/*private StringBuilder expression; /// <summary> /// Classification WHERE Clause /// </summary> public override StringBuilder Expression { get { if (expression == null) expression = new StringBuilder(); return expression; } }*/ public ClassificationWhereClauseBuilder(Guid classificationTreeID, Aspect.Domain.CommonDomain provider) { if (classificationTreeID != Guid.Empty) { List<string> list = new List<string>(); foreach (Aspect.Domain.GetClassificationTreeChildsResult item in provider.GetClassificationTreeChilds(classificationTreeID)) { if (item.id != null) list.Add(string.Format("'{0}'", item.id.ToString())); } list.Add(string.Format("'{0}'", classificationTreeID.ToString())); string[] ids = list.ToArray(); Expression.AppendFormat(classificationWhereClauseTemplate, string.Join(",", ids)); } }