diff --git a/LANCommander.Server.Services/_IBaseDatabaseService.cs b/LANCommander.Server.Services/_IBaseDatabaseService.cs index 83e2a70b..80fe7fef 100644 --- a/LANCommander.Server.Services/_IBaseDatabaseService.cs +++ b/LANCommander.Server.Services/_IBaseDatabaseService.cs @@ -15,14 +15,19 @@ namespace LANCommander.Server.Services IBaseDatabaseService Include(Expression> includeExpression); Task> Get(); + Task> Get(); Task Get(Guid id); + Task Get(Guid id); Task> Get(Expression> predicate); + Task> Get(Expression> predicate); Task FirstOrDefault(Expression> predicate); + Task FirstOrDefault(Expression> predicate); Task FirstOrDefault(Expression> predicate, Expression> orderKeySelector); + Task FirstOrDefault(Expression> predicate, Expression> orderKeySelector); Task Exists(Guid id); diff --git a/LANCommander.Server/AutoMapper.cs b/LANCommander.Server/AutoMapper.cs index 8d1bd896..03f5c06e 100644 --- a/LANCommander.Server/AutoMapper.cs +++ b/LANCommander.Server/AutoMapper.cs @@ -12,7 +12,6 @@ namespace LANCommander.Server CreateMap(); CreateMap(); CreateMap(); - CreateMap(); CreateMap(); CreateMap(); CreateMap(); @@ -41,6 +40,11 @@ namespace LANCommander.Server .ForMember(dest => dest.IsPrimaryAction, opt => opt.MapFrom(src => src.PrimaryAction)); + + CreateMap() + .ForMember(dest => + dest.Cover, + opt => opt.MapFrom(src => src.Media.Where(m => m.Type == SDK.Enums.MediaType.Cover).FirstOrDefault())); } } } diff --git a/LANCommander.Server/Controllers/Api/DepotController.cs b/LANCommander.Server/Controllers/Api/DepotController.cs index 98b85712..6ad85aba 100644 --- a/LANCommander.Server/Controllers/Api/DepotController.cs +++ b/LANCommander.Server/Controllers/Api/DepotController.cs @@ -46,7 +46,7 @@ namespace LANCommander.Server.Controllers.Api var games = await Cache.GetOrSetAsync("DepotGames", async _ => { - return await GameService.Get(); + return await GameService.Include(g => g.Media.Where(m => m.Type == SDK.Enums.MediaType.Cover)).Get(); }, TimeSpan.MaxValue); foreach (var game in games)