Optionally add a beoordeling while adding a verspakket

This commit is contained in:
moarten
2026-04-24 21:09:45 +02:00
parent 3a1071dadc
commit 5e1445d532
8 changed files with 136 additions and 15 deletions
@@ -1,12 +1,17 @@
namespace Lutra.Application.Models.Verspakketten;
using System.ComponentModel.DataAnnotations;
namespace Lutra.Application.Models.Verspakketten;
public class Beoordeling
{
[Range(1, 10)]
public required int CijferSmaak { get; init; }
[Range(1, 10)]
public required int CijferBereiden { get; init; }
public required bool Aanbevolen { get; init; }
[MaxLength(1024)]
public string? Tekst { get; init; }
}
@@ -1,4 +1,5 @@
using Cortex.Mediator.Commands;
using Lutra.Application.Models.Verspakketten;
using System.ComponentModel.DataAnnotations;
namespace Lutra.Application.Verspakketten;
@@ -9,5 +10,6 @@ public sealed partial class CreateVerspakket
string Naam,
int? PrijsInCenten,
[Range(1, 10)] int AantalPersonen,
Guid SupermarktId) : ICommand<Response>;
Guid SupermarktId,
Beoordeling? Beoordeling) : ICommand<Response>;
}
@@ -1,5 +1,6 @@
using Cortex.Mediator.Commands;
using Lutra.Application.Interfaces;
using Lutra.Application.Models.Verspakketten;
using Microsoft.EntityFrameworkCore;
namespace Lutra.Application.Verspakketten;
@@ -31,6 +32,21 @@ public sealed partial class CreateVerspakket
ModifiedAt = now
};
if (request.Beoordeling is not null)
{
verspakket.AddBeoordeling(new Domain.Entities.Beoordeling
{
Id = Guid.NewGuid(),
CijferSmaak = request.Beoordeling.CijferSmaak,
CijferBereiden = request.Beoordeling.CijferBereiden,
Aanbevolen = request.Beoordeling.Aanbevolen,
Tekst = request.Beoordeling.Tekst,
VerspakketId = verspakket.Id,
CreatedAt = now,
ModifiedAt = now
});
}
await context.Verspaketten.AddAsync(verspakket, cancellationToken);
await context.SaveChangesAsync(cancellationToken);