private string GetSnippet(LoadOldItemsInfo info) { return string.Format( @"var updatedIdsList = updatedNew.Select(item => item.ID).ToList(); var deletedIdsList = deletedIds.Select(item => item.ID).ToList(); var updatedOld = Filter(Query(), updatedIdsList).Select(item => new {{ item.ID{0} }}).ToList(); var deletedOld = Filter(Query(), deletedIdsList).Select(item => new {{ item.ID{0} }}).ToList(); Rhetos.Utilities.Graph.SortByGivenOrder(updatedOld, updatedIdsList, item => item.ID); Rhetos.Utilities.Graph.SortByGivenOrder(deletedOld, deletedIdsList, item => item.ID); ", SelectPropertiesTag.Evaluate(info)); }
public IEnumerable <IConceptInfo> CreateNewConcepts(ModificationTimeOfInfo conceptInfo, IDslModel existingConcepts) { if (!(conceptInfo.Property.DataStructure is EntityInfo)) { throw new DslSyntaxException(conceptInfo, $"{conceptInfo.GetKeywordOrTypeName()} can only be used on an Entity, " + $"not on {conceptInfo.Property.DataStructure.GetUserDescription()}."); } var saveMethod = new SaveMethodInfo { Entity = (EntityInfo)conceptInfo.Property.DataStructure }; var loadOldItems = new LoadOldItemsInfo { SaveMethod = saveMethod }; return(new IConceptInfo[] { saveMethod, loadOldItems, new LoadOldItemsTakeInfo { LoadOldItems = loadOldItems, Path = conceptInfo.ModifiedProperty.GetSimplePropertyName() } }); }