public IModulesSettings Initialize(IComboRequestJson requestJson, IModulesSettings modulesSettings) { Guard.Requires(requestJson, "requestJson").IsNotNull(); Guard.Requires(modulesSettings, "modulesSettings").IsNotNull(); modulesSettings.Filters = new FiltersFactory().Create(requestJson.Filters); return(modulesSettings); }
public IModulesSettings Initialize(IComboRequestJson requestJson, IModulesSettings modulesSettings) { if (requestJson.Pagination == null) { return(modulesSettings); } modulesSettings.Pagination = requestJson.Pagination; return(modulesSettings); }
public IResultData ApplyModulesExpressions <TType>( IEnumerable <TType> collection, IComboRequestJson comboRequestJson, IModulesSettings modulesSettings = null) where TType : class { IResultData resultData = new ResultData(); IModulesSettings settings = this.GetModulesSettings(comboRequestJson, modulesSettings); foreach (var module in this.Modules.Values) { collection = module.ApplyExpression(collection, settings); resultData = module.ConstructResult(collection, resultData); } this.DataPrepared.TriggerEvent(resultData); return(resultData); }
public IModulesSettings GetModulesSettings(IComboRequestJson comboRequestJson, IModulesSettings modulesSettingsObj) { if (comboRequestJson == null) { throw new ArgumentNullException("comboRequestJson"); } if (modulesSettingsObj == null) { modulesSettingsObj = new ModulesSettings(); } foreach (var module in this.Modules.Values) { modulesSettingsObj = module.Initialize(comboRequestJson, modulesSettingsObj); } return(modulesSettingsObj); }
public static IResultData Prepare <TType>(IEnumerable <TType> collection, IComboRequestJson requestJson) where TType : class { return(ModulesManager.GetManager.ApplyModulesExpressions(collection, requestJson)); }
public static async Task <IResultData> PrepareAsync <TType>(IEnumerable <TType> collection, IComboRequestJson requestJson) where TType : class { var backgroundTask = Task <IResultData> .Factory.StartNew(() => ModulesManager.GetManager.ApplyModulesExpressions(collection, requestJson)); return(await backgroundTask); }
public IModulesSettings Initialize(IComboRequestJson requestJson, IModulesSettings modulesSettings) { modulesSettings.Sorting = requestJson.Sorting; return(modulesSettings); }