public async Task <IEnumerable <Asset> > GetFilteredAssets(AssetParameters assetParameters) { IQueryable <Asset> assets = _assetContext.Assets; //For now just filtering based on Asset Name if (!string.IsNullOrEmpty(assetParameters.AssetName)) { assets = assets.Where( a => a.AssetName.ToLower().Contains(assetParameters.AssetName.ToLower()) ); } //Sort By Logic if (!string.IsNullOrEmpty(assetParameters.SortBy)) { if (typeof(Asset).GetProperty(assetParameters.SortBy) != null) { assets = assets.OrderByCustom(assetParameters.SortBy, assetParameters.SortOrder); } } assets = assets.Skip(assetParameters.Size * (assetParameters.Page - 1)) .Take(assetParameters.Size); return(await assets.ToArrayAsync()); }
public async Task <IActionResult> GetAllAssets([FromQuery] AssetParameters assetParameters) { var getAllBenefitsQuery = new GetAllAssetsQuery(assetParameters); var result = await mediator.Send(getAllBenefitsQuery); if (result.Code == HttpStatusCode.OK) { Response.Headers.Add("X-Pagination", PagedList <Entity> .ToJson(result.Value as PagedList <Entity>)); } return(StatusCode((int)result.Code, result.Value)); }
/// <summary> /// Gets all Assets. /// </summary> /// <param name="assetParameters">The Asset parameters.</param> /// <returns></returns> public async Task <PagedList <Entity> > GetAllAssets(AssetParameters assetParameters) { var getAssetsParams = new object[] { new MySqlParameter("@p_limit", assetParameters.PageSize), new MySqlParameter("@p_offset", (assetParameters.PageNumber - 1) * assetParameters.PageSize), new MySqlParameter("@p_searchKeyword", assetParameters.SearchKeyword), new MySqlParameter("@p_Value", assetParameters.Value), new MySqlParameter("@p_fromDate", assetParameters.FromDate), new MySqlParameter("@p_toDate", assetParameters.ToDate) }; var assets = await FindAll("CALL SpSelectActiveAsset(@p_limit, @p_offset, @p_searchKeyword,@p_Value @p_fromDate, @p_toDate)", getAssetsParams).ToListAsync(); var mappedassets = assets.AsQueryable().ProjectTo <AssetResponse>(mapper.ConfigurationProvider); var sortedassets = sortHelper.ApplySort(mappedassets, assetParameters.OrderBy); var shapedassets = dataShaper.ShapeData(sortedassets, assetParameters.Fields); return(await PagedList <Entity> .ToPagedList(shapedassets, assetParameters.PageNumber, assetParameters.PageSize)); }
public async Task <APIResponse> GetAllAssets(AssetParameters assetParameters) { try { string serializedStories; // List<AssetResponse> stories; /* var encodedStories = await distributedCache.GetAsync(BlogServiceOperation.GetStoriesCacheName); * * if (encodedStories != null) * { * serializedStories = Encoding.UTF8.GetString(encodedStories); * stories = JsonConvert.DeserializeObject<List<StoryResponse>>(serializedStories); * } * else * {*/ var client = httpClientFactory.CreateClient(VendorServiceOperation.serviceName); UriBuilder url = new UriBuilder(servicesConfig.Blog + VendorServiceOperation.GetAllAssets()); url.Query = QueryStringHelper.ConvertToQueryString(assetParameters); var response = await client.GetAsync(url.ToString()); var assets = JsonConvert.DeserializeObject <AssetResponse>(await response.Content.ReadAsStringAsync()); serializedStories = JsonConvert.SerializeObject(assets); /* encodedStories = Encoding.UTF8.GetBytes(serializedStories); * var options = new DistributedCacheEntryOptions() * .SetSlidingExpiration(TimeSpan.FromMinutes(1)) * .SetAbsoluteExpiration(DateTime.Now.AddHours(1)); * * await distributedCache.SetAsync(VendorServiceOperation.GetStoriesCacheName, encodedStories, options);*/ // } return(new APIResponse(assets, HttpStatusCode.OK)); } catch (Exception ex) { logger.Error(ex, "Exception in method 'GetAllAssets()'"); var exMessage = ex.InnerException != null ? ex.InnerException.Message : ex.Message; return(new APIResponse(exMessage, HttpStatusCode.InternalServerError)); } }
protected override Task <ResultStatus> DoCommandOverride(ICommandContext commandContext) { var result = new GameSettings { PackageId = package.Id, PackageName = package.Meta.Name, DefaultSceneUrl = AssetParameters.DefaultScene != null?AttachedReferenceManager.GetUrl(AssetParameters.DefaultScene) : null, EffectCompilation = package.UserSettings.GetValue(GameUserSettings.Effect.EffectCompilation), RecordUsedEffects = package.UserSettings.GetValue(GameUserSettings.Effect.RecordUsedEffects), Configurations = new PlatformConfigurations(), CompilationMode = compilationMode }; //start from the default platform and go down overriding foreach (var configuration in AssetParameters.Defaults.Where(x => !x.OfflineOnly)) { result.Configurations.Configurations.Add(new ConfigurationOverride { Platforms = ConfigPlatforms.None, SpecificFilter = -1, Configuration = configuration }); } foreach (var configurationOverride in AssetParameters.Overrides.Where(x => x.Configuration != null && !x.Configuration.OfflineOnly)) { result.Configurations.Configurations.Add(configurationOverride); } result.Configurations.PlatformFilters = AssetParameters.PlatformFilters; //make sure we modify platform specific files to set the wanted orientation SetPlatformOrientation(package, platform, AssetParameters.Get <RenderingSettings>().DisplayOrientation); var assetManager = new ContentManager(); assetManager.Save(Url, result); return(Task.FromResult(ResultStatus.Successful)); }
public async Task <IEnumerable <Asset> > GetFilteredAssets(AssetParameters assetParameters) { return(await _assetRepository.GetFilteredAssets(assetParameters)); }
/// <summary> /// Initializes a new instance of the <see cref="GetAllAssetsQuery"/> class. /// </summary> /// <param name="offersParameter">The Benefits parameters.</param> public GetAllAssetsQuery(AssetParameters assetParameter) { AssetParameter = assetParameter; }
public async Task <IActionResult> Get([FromQuery] AssetParameters assetParameters) { var assets = await _assetService.GetFilteredAssets(assetParameters); return(Ok(assets)); }
public async Task <IActionResult> GetAllAssets([FromQuery] AssetParameters assetParameters) { var result = await assetService.GetAllAssets(assetParameters); return(StatusCode((int)result.Code, result.Value)); }