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));
        }
Пример #4
0
        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));
            }
        }
Пример #5
0
            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));
            }
Пример #6
0
 public async Task <IEnumerable <Asset> > GetFilteredAssets(AssetParameters assetParameters)
 {
     return(await _assetRepository.GetFilteredAssets(assetParameters));
 }
Пример #7
0
 /// <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;
 }
Пример #8
0
        public async Task <IActionResult> Get([FromQuery] AssetParameters assetParameters)
        {
            var assets = await _assetService.GetFilteredAssets(assetParameters);

            return(Ok(assets));
        }
Пример #9
0
        public async Task <IActionResult> GetAllAssets([FromQuery] AssetParameters assetParameters)
        {
            var result = await assetService.GetAllAssets(assetParameters);

            return(StatusCode((int)result.Code, result.Value));
        }