mirror of
https://github.com/meysamhadeli/booking-microservices.git
synced 2026-04-11 02:20:20 +08:00
fix: Fix bug multiple instance tracking in CompleteRegisterPassengerCommandHandler in update operation
This commit is contained in:
parent
17269df649
commit
c3697e4d04
@ -96,19 +96,18 @@ internal class CompleteRegisterPassengerCommandHandler : ICommandHandler<Complet
|
||||
{
|
||||
Guard.Against.Null(request, nameof(request));
|
||||
|
||||
var passenger = await _passengerDbContext.Passengers.AsNoTracking().SingleOrDefaultAsync(
|
||||
var passenger = await _passengerDbContext.Passengers.SingleOrDefaultAsync(
|
||||
x => x.PassportNumber.Value == request.PassportNumber, cancellationToken);
|
||||
|
||||
|
||||
if (passenger is null)
|
||||
{
|
||||
throw new PassengerNotExist();
|
||||
}
|
||||
|
||||
var passengerEntity = passenger.CompleteRegistrationPassenger(passenger.Id, passenger.Name,
|
||||
passenger.CompleteRegistrationPassenger(passenger.Id, passenger.Name,
|
||||
passenger.PassportNumber, request.PassengerType, Age.Of(request.Age));
|
||||
|
||||
var updatePassenger = _passengerDbContext.Passengers.Update(passengerEntity).Entity;
|
||||
var updatePassenger = _passengerDbContext.Passengers.Update(passenger).Entity;
|
||||
|
||||
var passengerDto = _mapper.Map<PassengerDto>(updatePassenger);
|
||||
|
||||
|
||||
@ -13,24 +13,21 @@ public record Passenger : Aggregate<PassengerId>
|
||||
public Enums.PassengerType PassengerType { get; private set; }
|
||||
public Age? Age { get; private set; }
|
||||
|
||||
public Passenger CompleteRegistrationPassenger(PassengerId id, Name name, PassportNumber passportNumber, Enums.PassengerType passengerType, Age age, bool isDeleted = false)
|
||||
public void CompleteRegistrationPassenger(PassengerId id, Name name, PassportNumber passportNumber,
|
||||
Enums.PassengerType passengerType, Age age, bool isDeleted = false)
|
||||
{
|
||||
var passenger = new Passenger
|
||||
{
|
||||
Id = id,
|
||||
Name = name,
|
||||
PassportNumber = passportNumber,
|
||||
PassengerType = passengerType,
|
||||
Age = age,
|
||||
IsDeleted = isDeleted
|
||||
};
|
||||
this.Id = id;
|
||||
this.Name = name;
|
||||
this.PassportNumber = passportNumber;
|
||||
this.PassengerType = passengerType;
|
||||
this.Age = age;
|
||||
this.IsDeleted = isDeleted;
|
||||
|
||||
var @event = new PassengerRegistrationCompletedDomainEvent(passenger.Id, passenger.Name, passenger.PassportNumber,
|
||||
passenger.PassengerType, passenger.Age, passenger.IsDeleted);
|
||||
var @event = new PassengerRegistrationCompletedDomainEvent(this.Id, this.Name,
|
||||
this.PassportNumber,
|
||||
this.PassengerType, this.Age, this.IsDeleted);
|
||||
|
||||
passenger.AddDomainEvent(@event);
|
||||
|
||||
return passenger;
|
||||
this.AddDomainEvent(@event);
|
||||
}
|
||||
|
||||
|
||||
@ -38,7 +35,8 @@ public record Passenger : Aggregate<PassengerId>
|
||||
{
|
||||
var passenger = new Passenger { Id = id, Name = name, PassportNumber = passportNumber, IsDeleted = isDeleted };
|
||||
|
||||
var @event = new PassengerCreatedDomainEvent(passenger.Id, passenger.Name, passenger.PassportNumber, passenger.IsDeleted);
|
||||
var @event = new PassengerCreatedDomainEvent(passenger.Id, passenger.Name, passenger.PassportNumber,
|
||||
passenger.IsDeleted);
|
||||
|
||||
passenger.AddDomainEvent(@event);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user