Map DepotGame cover from attached media
This commit is contained in:
parent
fd994c2524
commit
63d203f87f
3 changed files with 11 additions and 2 deletions
|
|
@ -15,14 +15,19 @@ namespace LANCommander.Server.Services
|
|||
IBaseDatabaseService<T> Include(Expression<Func<T, object>> includeExpression);
|
||||
|
||||
Task<ICollection<T>> Get();
|
||||
Task<ICollection<U>> Get<U>();
|
||||
|
||||
Task<T> Get(Guid id);
|
||||
Task<U> Get<U>(Guid id);
|
||||
|
||||
Task<ICollection<T>> Get(Expression<Func<T, bool>> predicate);
|
||||
Task<ICollection<U>> Get<U>(Expression<Func<T, bool>> predicate);
|
||||
|
||||
Task<T> FirstOrDefault(Expression<Func<T, bool>> predicate);
|
||||
Task<U> FirstOrDefault<U>(Expression<Func<T, bool>> predicate);
|
||||
|
||||
Task<T> FirstOrDefault<TKey>(Expression<Func<T, bool>> predicate, Expression<Func<T, TKey>> orderKeySelector);
|
||||
Task<U> FirstOrDefault<U, TKey>(Expression<Func<T, bool>> predicate, Expression<Func<U, TKey>> orderKeySelector);
|
||||
|
||||
Task<bool> Exists(Guid id);
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ namespace LANCommander.Server
|
|||
CreateMap<Data.Models.Collection, SDK.Models.Collection>();
|
||||
CreateMap<Data.Models.Engine, SDK.Models.Engine>();
|
||||
CreateMap<Data.Models.Game, SDK.Models.Game>();
|
||||
CreateMap<Data.Models.Game, SDK.Models.DepotGame>();
|
||||
CreateMap<Data.Models.GameSave, SDK.Models.GameSave>();
|
||||
CreateMap<Data.Models.Genre, SDK.Models.Genre>();
|
||||
CreateMap<Data.Models.Key, SDK.Models.Key>();
|
||||
|
|
@ -41,6 +40,11 @@ namespace LANCommander.Server
|
|||
.ForMember(dest =>
|
||||
dest.IsPrimaryAction,
|
||||
opt => opt.MapFrom(src => src.PrimaryAction));
|
||||
|
||||
CreateMap<Data.Models.Game, SDK.Models.DepotGame>()
|
||||
.ForMember(dest =>
|
||||
dest.Cover,
|
||||
opt => opt.MapFrom(src => src.Media.Where(m => m.Type == SDK.Enums.MediaType.Cover).FirstOrDefault()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ namespace LANCommander.Server.Controllers.Api
|
|||
|
||||
var games = await Cache.GetOrSetAsync("DepotGames", async _ =>
|
||||
{
|
||||
return await GameService.Get<SDK.Models.DepotGame>();
|
||||
return await GameService.Include(g => g.Media.Where(m => m.Type == SDK.Enums.MediaType.Cover)).Get<SDK.Models.DepotGame>();
|
||||
}, TimeSpan.MaxValue);
|
||||
|
||||
foreach (var game in games)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue