From c3697e4d048be4db96b2501e5537cd3c5028dc5b Mon Sep 17 00:00:00 2001 From: Pc Date: Thu, 15 Jun 2023 21:16:54 +0330 Subject: [PATCH] fix: Fix bug multiple instance tracking in CompleteRegisterPassengerCommandHandler in update operation --- .../V1/CompleteRegisterPassenger.cs | 7 ++--- .../Passenger/Passengers/Models/Passenger.cs | 30 +++++++++---------- 2 files changed, 17 insertions(+), 20 deletions(-) diff --git a/src/Services/Passenger/src/Passenger/Passengers/Features/CompletingRegisterPassenger/V1/CompleteRegisterPassenger.cs b/src/Services/Passenger/src/Passenger/Passengers/Features/CompletingRegisterPassenger/V1/CompleteRegisterPassenger.cs index dce346c..002b074 100644 --- a/src/Services/Passenger/src/Passenger/Passengers/Features/CompletingRegisterPassenger/V1/CompleteRegisterPassenger.cs +++ b/src/Services/Passenger/src/Passenger/Passengers/Features/CompletingRegisterPassenger/V1/CompleteRegisterPassenger.cs @@ -96,19 +96,18 @@ internal class CompleteRegisterPassengerCommandHandler : ICommandHandler 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(updatePassenger); diff --git a/src/Services/Passenger/src/Passenger/Passengers/Models/Passenger.cs b/src/Services/Passenger/src/Passenger/Passengers/Models/Passenger.cs index 0659ca5..72fee0e 100644 --- a/src/Services/Passenger/src/Passenger/Passengers/Models/Passenger.cs +++ b/src/Services/Passenger/src/Passenger/Passengers/Models/Passenger.cs @@ -13,24 +13,21 @@ public record Passenger : Aggregate 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 { 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);