private static string FilterSaveFunction(ComputeForNewItemsInfo info, string uniqueSuffix)
        {
            return(string.Format(
                       @"        private static readonly Func<IEnumerable<{0}.{1}>, IEnumerable<{0}.{1}>> _filterSaveComputeForNewItems_{2} =
            {3};

",
                       info.EntityComputedFrom.Target.Module.Name,
                       info.EntityComputedFrom.Target.Name,
                       uniqueSuffix,
                       info.FilterSaveExpression));
        }
        private static string RecomputeForNewItemsSnippet(ComputeForNewItemsInfo info, string uniqueSuffix)
        {
            DataStructureInfo hookOnSave = info.EntityComputedFrom.Target;
            EntityInfo        updatePersistedComputation = info.EntityComputedFrom.Target;

            return(string.Format(
                       @"            if (inserted.Count() > 0)
            {{
                var filter = inserted.Select(item => item.ID).ToArray();
                {4}(filter{3});
            }}
",
                       hookOnSave.Module.Name,
                       hookOnSave.Name,
                       uniqueSuffix,
                       !string.IsNullOrWhiteSpace(info.FilterSaveExpression) ? (", _filterSaveComputeForNewItems_" + uniqueSuffix) : "",
                       EntityComputedFromCodeGenerator.RecomputeFunctionName(info.EntityComputedFrom)));
        }
 private static string GetUniqueSuffixWithinTarget(ComputeForNewItemsInfo info)
 {
     return(DslUtility.NameOptionalModule(info.EntityComputedFrom.Source, info.EntityComputedFrom.Target.Module));
 }