mirror of
https://github.com/meysamhadeli/booking-microservices.git
synced 2026-04-27 08:00:52 +08:00
fix valueobject
This commit is contained in:
parent
78f4a764f7
commit
d3a2023629
@ -1,14 +1,13 @@
|
||||
namespace Flight.Aircrafts.Models;
|
||||
|
||||
using System;
|
||||
using Flight.Aircrafts.Models.ValueObjects;
|
||||
|
||||
public class AircraftReadModel
|
||||
{
|
||||
public required Guid Id { get; init; }
|
||||
public required AircraftId AircraftId { get; init; }
|
||||
public required Name Name { get; init; }
|
||||
public required Model Model { get; init; }
|
||||
public required ManufacturingYear ManufacturingYear { get; init; }
|
||||
public required Guid AircraftId { get; init; }
|
||||
public required string Name { get; init; }
|
||||
public required string Model { get; init; }
|
||||
public required int ManufacturingYear { get; init; }
|
||||
public required bool IsDeleted { get; init; }
|
||||
}
|
||||
|
||||
@ -1,9 +1,6 @@
|
||||
using System;
|
||||
|
||||
namespace Flight.Flights.Dtos;
|
||||
|
||||
using Aircrafts.Models.ValueObjects;
|
||||
|
||||
public record FlightDto(Guid Id, string FlightNumber, AircraftId AircraftId, Guid DepartureAirportId,
|
||||
public record FlightDto(Guid Id, string FlightNumber, Guid AircraftId, Guid DepartureAirportId,
|
||||
DateTime DepartureDate, DateTime ArriveDate, Guid ArriveAirportId, decimal DurationMinutes, DateTime FlightDate,
|
||||
Enums.FlightStatus Status, decimal Price);
|
||||
|
||||
@ -3,7 +3,6 @@ namespace Flight.Flights.Features.CreatingFlight.V1;
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Aircrafts.Models.ValueObjects;
|
||||
using Ardalis.GuardClauses;
|
||||
using BuildingBlocks.Core.CQRS;
|
||||
using BuildingBlocks.Core.Event;
|
||||
@ -15,7 +14,7 @@ using Models;
|
||||
using MongoDB.Driver;
|
||||
using MongoDB.Driver.Linq;
|
||||
|
||||
public record CreateFlightMongo(Guid Id, string FlightNumber, AircraftId AircraftId, DateTime DepartureDate,
|
||||
public record CreateFlightMongo(Guid Id, string FlightNumber, Guid AircraftId, DateTime DepartureDate,
|
||||
Guid DepartureAirportId, DateTime ArriveDate, Guid ArriveAirportId, decimal DurationMinutes, DateTime FlightDate,
|
||||
Enums.FlightStatus Status, decimal Price, bool IsDeleted = false) : InternalCommand;
|
||||
|
||||
|
||||
@ -1,14 +1,13 @@
|
||||
namespace Flight.Flights.Models;
|
||||
|
||||
using System;
|
||||
using Aircrafts.Models.ValueObjects;
|
||||
|
||||
public class FlightReadModel
|
||||
{
|
||||
public required Guid Id { get; init; }
|
||||
public required Guid FlightId { get; init; }
|
||||
public required string FlightNumber { get; init; }
|
||||
public required AircraftId AircraftId { get; init; }
|
||||
public required Guid AircraftId { get; init; }
|
||||
public required DateTime DepartureDate { get; init; }
|
||||
public required Guid DepartureAirportId { get; init; }
|
||||
public required DateTime ArriveDate { get; init; }
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Flight.Flights.Dtos;
|
||||
using MapsterMapper;
|
||||
@ -25,7 +25,7 @@ public class FlightMappingTests
|
||||
yield return new object[]
|
||||
{
|
||||
// these types will instantiate with reflection in the future
|
||||
typeof(global::Flight.Flights.Models.Flight), typeof(FlightDto)
|
||||
typeof(global::Flight.Flights.Models.FlightReadModel), typeof(FlightDto)
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@ -38,7 +38,7 @@ public class RegisterNewUserHandler : IConsumer<UserCreated>
|
||||
_logger.LogInformation($"consumer for {nameof(UserCreated).Underscore()} in {_options.Name}");
|
||||
|
||||
var passengerExist =
|
||||
await _passengerDbContext.Passengers.AnyAsync(x => x.PassportNumber == PassportNumber.Of(context.Message.PassportNumber));
|
||||
await _passengerDbContext.Passengers.AnyAsync(x => x.PassportNumber.Value == PassportNumber.Of(context.Message.PassportNumber).Value);
|
||||
|
||||
if (passengerExist)
|
||||
{
|
||||
|
||||
@ -97,7 +97,7 @@ internal class CompleteRegisterPassengerCommandHandler : ICommandHandler<Complet
|
||||
Guard.Against.Null(request, nameof(request));
|
||||
|
||||
var passenger = await _passengerDbContext.Passengers.AsNoTracking().SingleOrDefaultAsync(
|
||||
x => x.PassportNumber.Value.Equals(PassportNumber.Of(request.PassportNumber)), cancellationToken);
|
||||
x => x.PassportNumber.Value.Equals(PassportNumber.Of(request.PassportNumber).Value), cancellationToken);
|
||||
|
||||
|
||||
if (passenger is null)
|
||||
@ -108,9 +108,9 @@ internal class CompleteRegisterPassengerCommandHandler : ICommandHandler<Complet
|
||||
var passengerEntity = passenger.CompleteRegistrationPassenger(passenger.Id, passenger.Name,
|
||||
passenger.PassportNumber, request.PassengerType, Age.Of(request.Age));
|
||||
|
||||
var updatePassenger = _passengerDbContext.Passengers.Update(passengerEntity);
|
||||
var updatePassenger = _passengerDbContext.Passengers.Update(passengerEntity)?.Entity;
|
||||
|
||||
var passengerDto = _mapper.Map<PassengerDto>(updatePassenger.Entity);
|
||||
var passengerDto = _mapper.Map<PassengerDto>(updatePassenger);
|
||||
|
||||
return new CompleteRegisterPassengerResult(passengerDto);
|
||||
}
|
||||
|
||||
@ -21,5 +21,8 @@ public class PassengerMappings : IRegister
|
||||
|
||||
config.NewConfig<PassengerReadModel, PassengerDto>()
|
||||
.ConstructUsing(x => new PassengerDto(x.PassengerId, x.Name, x.PassportNumber, x.PassengerType, x.Age));
|
||||
|
||||
config.NewConfig<Passenger, PassengerDto>()
|
||||
.ConstructUsing(x => new PassengerDto(x.Id.Value, x.Name.Value, x.PassportNumber.Value, x.PassengerType, x.Age.Value));
|
||||
}
|
||||
}
|
||||
|
||||
@ -23,8 +23,8 @@ public class CompleteRegisterPassengerTests : PassengerIntegrationTestBase
|
||||
var userCreated = new FakeUserCreated().Generate();
|
||||
|
||||
await Fixture.Publish(userCreated);
|
||||
await Fixture.WaitForPublishing<UserCreated>();
|
||||
await Fixture.WaitForConsuming<UserCreated>();
|
||||
(await Fixture.WaitForPublishing<UserCreated>()).Should().Be(true);
|
||||
(await Fixture.WaitForConsuming<UserCreated>()).Should().Be(true);
|
||||
|
||||
var command = new FakeCompleteRegisterPassengerCommand(userCreated.PassportNumber).Generate();
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user