protected static string RepositoryFunctionsSnippet(QueryableExtensionInfo info) { return string.Format( @"public readonly Func<IQueryable<Common.Queryable.{2}_{3}>, Common.DomRepository{4}, IQueryable<Common.Queryable.{0}_{1}>> Compute = {5}; ", info.Module.Name, info.Name, info.Base.Module.Name, info.Base.Name, DataStructureUtility.ComputationAdditionalParametersTypeTag.Evaluate(info), info.Expression); }
protected static string CodeSnippet(QueryableExtensionInfo info) { return @"public override int GetHashCode() { " + GetHashCodeTag.Evaluate(info) + @" return ID.GetHashCode(); } public override bool Equals(object o) { " + EqualsBaseTag.Evaluate(info) + @" var other = o as " + info.Name + @"; return other != null && other.ID == ID; } bool System.IEquatable<" + info.Name + @">.Equals(" + info.Name + @" other) { " + EqualsInterfaceTag.Evaluate(info) + @" return other != null && other.ID == ID; } "; }
protected static string QuerySnippet(QueryableExtensionInfo info) { return string.Format( @"return Compute(_domRepository.{0}.{1}.Query(), _domRepository{2});", info.Base.Module.Name, info.Base.Name, DataStructureUtility.ComputationAdditionalParametersArgumentTag.Evaluate(info)); }