Get and return stuff from the database
This commit is contained in:
@@ -2,6 +2,6 @@
|
|||||||
{
|
{
|
||||||
public record Supermarkt
|
public record Supermarkt
|
||||||
{
|
{
|
||||||
public required string Name { get; init; }
|
public required string Naam { get; init; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,25 @@
|
|||||||
using Cortex.Mediator.Queries;
|
using Cortex.Mediator.Queries;
|
||||||
|
using Lutra.Application.Interfaces;
|
||||||
|
using Lutra.Application.Models.Supermarkten;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
namespace Lutra.Application.Supermarkten
|
namespace Lutra.Application.Supermarkten
|
||||||
{
|
{
|
||||||
public sealed partial class GetSupermarkten
|
public sealed partial class GetSupermarkten
|
||||||
{
|
{
|
||||||
public sealed class Handler : IQueryHandler<Query, Response>
|
public sealed class Handler(ILutraDbContext context) : IQueryHandler<Query, Response>
|
||||||
{
|
{
|
||||||
public async Task<Response> Handle(Query request, CancellationToken cancellationToken)
|
public async Task<Response> Handle(Query request, CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
return new Response { Supermarkten = [] };
|
var supermarkten = await context.Supermarkten
|
||||||
|
.AsNoTracking()
|
||||||
|
.OrderBy(s => s.Naam)
|
||||||
|
.Skip(request.Skip)
|
||||||
|
.Take(request.Take)
|
||||||
|
.Select(s => new Supermarkt { Naam = s.Naam })
|
||||||
|
.ToListAsync(cancellationToken);
|
||||||
|
|
||||||
|
return new Response { Supermarkten = supermarkten };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,43 @@
|
|||||||
using Cortex.Mediator.Queries;
|
using Cortex.Mediator.Queries;
|
||||||
|
using Lutra.Application.Interfaces;
|
||||||
|
using Lutra.Application.Models.Supermarkten;
|
||||||
|
using Lutra.Application.Models.Verspakketten;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
namespace Lutra.Application.Verspakketten
|
namespace Lutra.Application.Verspakketten
|
||||||
{
|
{
|
||||||
public sealed partial class GetVerspakketten
|
public sealed partial class GetVerspakketten
|
||||||
{
|
{
|
||||||
public sealed class Handler : IQueryHandler<Query, Response>
|
public sealed class Handler(ILutraDbContext context) : IQueryHandler<Query, Response>
|
||||||
{
|
{
|
||||||
public async Task<Response> Handle(Query request, CancellationToken cancellationToken)
|
public async Task<Response> Handle(Query request, CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
return new Response { Verspakketten = [] };
|
var verspakketten = await context.Verspaketten
|
||||||
|
.AsNoTracking()
|
||||||
|
.OrderBy(v => v.Naam)
|
||||||
|
.Skip(request.Skip)
|
||||||
|
.Take(request.Take)
|
||||||
|
.Select(v => new Verspakket
|
||||||
|
{
|
||||||
|
Naam = v.Naam,
|
||||||
|
PrijsInCenten = null,
|
||||||
|
Beoordelingen = v.Beoordelingen
|
||||||
|
.Select(b => new Beoordeling
|
||||||
|
{
|
||||||
|
CijferSmaak = b.CijferSmaak,
|
||||||
|
CijferBereiden = b.CijferBereiden,
|
||||||
|
Aanbevolen = b.Aanbevolen,
|
||||||
|
Tekst = b.Tekst
|
||||||
|
})
|
||||||
|
.ToArray(),
|
||||||
|
Supermarkt = new Supermarkt
|
||||||
|
{
|
||||||
|
Naam = v.Supermarkt.Naam
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.ToListAsync(cancellationToken);
|
||||||
|
|
||||||
|
return new Response { Verspakketten = verspakketten };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using Cortex.Mediator.Queries;
|
using Cortex.Mediator.Queries;
|
||||||
|
|
||||||
namespace Lutra.Application.Verspakketten
|
namespace Lutra.Application.Verspakketten
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user