public object Execute(Query.IContentQuery<Models.TextContent> query) { var translator = new QueryProcessor.TextContentTranslator(); var executor = translator.Translate(query); return executor.Execute(); }
public object Execute(Query.IContentQuery<Models.TextContent> query) { /* Categories SELECT * FROM [ef1].[dbo].[Test2] category WHERE EXISTS( SELECT ContentCategory.CategoryUUID FROM [fullips.__ContentCategory] ContentCategory, (SELECT * FROM [ef1].[dbo].[Tests] content WHERE ([UUID] = 'F562CCDW9FGM53WE') AND FolderName='Test' )content WHERE content.UUID = ContentCategory.UUID AND ContentCategory.CategoryUUID = category.UUID ) AND 1=1 AND FolderName='Test2' ORDER BY Id DESC */ object result = null; //Get content from API service // if (query is TextContentQuery && ((TextContentQuery)query).Folder != null && ((TextContentQuery)query).Folder.GetActualFolder().StoreInAPI) { var folder = ((TextContentQuery)query).Folder; var schema = ((Kooboo.CMS.Content.Query.TextContentQuery)query).Schema; if (query.Expression is Query.Expressions.CallExpression) { result = GetResult(folder, schema, (Expression)query.Expression, ((Query.Expressions.CallExpression)query.Expression).CallType); } else if (query.Expression is Query.Expressions.TakeExpression || query.Expression is Kooboo.CMS.Content.Query.Expressions.OrderExpression) { result = GetResult(folder, schema, (Expression)query.Expression, Kooboo.CMS.Content.Query.Expressions.CallType.Unspecified); } if (result == null) return new TextContent[] {}; return result; } var translator = new QueryProcessor.TextContentTranslator(); var executor = translator.Translate(query); result = executor.Execute(); return result; }