refactor: Refactor domain models

This commit is contained in:
Pc 2023-06-15 21:39:19 +03:30
parent c3697e4d04
commit af4d03441d
7 changed files with 46 additions and 48 deletions

View File

@ -3,7 +3,7 @@ using BuildingBlocks.Core.Model;
namespace Flight.Aircrafts.Models;
using Features.CreatingAircraft.V1;
using Flight.Aircrafts.ValueObjects;
using ValueObjects;
public record Aircraft : Aggregate<AircraftId>
{

View File

@ -3,7 +3,7 @@ using BuildingBlocks.Core.Model;
namespace Flight.Airports.Models;
using Features.CreatingAirport.V1;
using Flight.Airports.ValueObjects;
using ValueObjects;
public record Airport : Aggregate<AirportId>
{
@ -22,10 +22,10 @@ public record Airport : Aggregate<AirportId>
};
var @event = new AirportCreatedDomainEvent(
airport.Id.Value,
airport.Name.Value,
airport.Address.Value,
airport.Code.Value,
airport.Id,
airport.Name,
airport.Address,
airport.Code,
isDeleted);
airport.AddDomainEvent(@event);

View File

@ -118,7 +118,7 @@ internal class UpdateFlightHandler : ICommandHandler<UpdateFlight, UpdateFlightR
ArriveDate.Of(request.ArriveDate), AirportId.Of(request.ArriveAirportId), DurationMinutes.Of(request.DurationMinutes), FlightDate.Of(request.FlightDate), request.Status,
Price.Of(request.Price), request.IsDeleted);
var updateFlight = (_flightDbContext.Flights.Update(flight)).Entity;
var updateFlight = _flightDbContext.Flights.Update(flight).Entity;
return new UpdateFlightResult(updateFlight.Id);
}

View File

@ -7,7 +7,7 @@ using Airports.ValueObjects;
using Features.CreatingFlight.V1;
using Features.DeletingFlight.V1;
using Features.UpdatingFlight.V1;
using global::Flight.Flights.ValueObjects;
using ValueObjects;
public record Flight : Aggregate<FlightId>
{
@ -43,10 +43,10 @@ public record Flight : Aggregate<FlightId>
IsDeleted = isDeleted,
};
var @event = new FlightCreatedDomainEvent(flight.Id.Value, flight.FlightNumber.Value, flight.AircraftId.Value,
flight.DepartureDate.Value, flight.DepartureAirportId.Value,
flight.ArriveDate.Value, flight.ArriveAirportId.Value, flight.DurationMinutes.Value, flight.FlightDate.Value, flight.Status,
flight.Price.Value, flight.IsDeleted);
var @event = new FlightCreatedDomainEvent(flight.Id, flight.FlightNumber, flight.AircraftId,
flight.DepartureDate, flight.DepartureAirportId,
flight.ArriveDate, flight.ArriveAirportId, flight.DurationMinutes, flight.FlightDate, flight.Status,
flight.Price, flight.IsDeleted);
flight.AddDomainEvent(@event);
@ -59,20 +59,20 @@ public record Flight : Aggregate<FlightId>
AirportId arriveAirportId, DurationMinutes durationMinutes, FlightDate flightDate, Enums.FlightStatus status,
Price price, bool isDeleted = false)
{
FlightNumber = flightNumber;
AircraftId = aircraftId;
DepartureAirportId = departureAirportId;
DepartureDate = departureDate;
ArriveDate = arriveDate;
ArriveAirportId = arriveAirportId;
DurationMinutes = durationMinutes;
FlightDate = flightDate;
Status = status;
Price = price;
IsDeleted = isDeleted;
this.FlightNumber = flightNumber;
this.AircraftId = aircraftId;
this.DepartureAirportId = departureAirportId;
this.DepartureDate = departureDate;
this.ArriveDate = arriveDate;
this.ArriveAirportId = arriveAirportId;
this.DurationMinutes = durationMinutes;
this.FlightDate = flightDate;
this.Status = status;
this.Price = price;
this.IsDeleted = isDeleted;
var @event = new FlightUpdatedDomainEvent(id.Value, flightNumber.Value, aircraftId.Value, departureDate.Value, departureAirportId.Value,
arriveDate.Value, arriveAirportId.Value, durationMinutes.Value, flightDate.Value, status, price.Value, isDeleted);
var @event = new FlightUpdatedDomainEvent(id, flightNumber, aircraftId, departureDate, departureAirportId,
arriveDate, arriveAirportId, durationMinutes, flightDate, status, price, isDeleted);
AddDomainEvent(@event);
}
@ -94,8 +94,8 @@ public record Flight : Aggregate<FlightId>
Price = price;
IsDeleted = isDeleted;
var @event = new FlightDeletedDomainEvent(id.Value, flightNumber.Value, aircraftId.Value, departureDate.Value, departureAirportId.Value,
arriveDate.Value, arriveAirportId.Value, durationMinutes.Value, flightDate.Value, status, price.Value, isDeleted);
var @event = new FlightDeletedDomainEvent(id, flightNumber, aircraftId, departureDate, departureAirportId,
arriveDate, arriveAirportId, durationMinutes, flightDate, status, price, isDeleted);
AddDomainEvent(@event);
}

View File

@ -93,9 +93,9 @@ internal class ReserveSeatCommandHandler : IRequestHandler<ReserveSeat, ReserveS
throw new SeatNumberIncorrectException();
}
var reserveSeat = await seat.ReserveSeat(seat);
seat.ReserveSeat();
var updatedSeat = (_flightDbContext.Seats.Update(reserveSeat)).Entity;
var updatedSeat = _flightDbContext.Seats.Update(seat).Entity;
return new ReserveSeatResult(updatedSeat.Id);
}

View File

@ -1,5 +1,4 @@
using System;
using System.Threading.Tasks;
using BuildingBlocks.Core.Model;
namespace Flight.Seats.Models;
@ -7,7 +6,7 @@ namespace Flight.Seats.Models;
using Features.CreatingSeat.V1;
using Features.ReservingSeat.Commands.V1;
using Flight.Flights.ValueObjects;
using Flight.Seats.ValueObjects;
using ValueObjects;
public record Seat : Aggregate<SeatId>
{
@ -16,7 +15,8 @@ public record Seat : Aggregate<SeatId>
public Enums.SeatClass Class { get; private set; }
public FlightId FlightId { get; private set; } = default!;
public static Seat Create(SeatId id, SeatNumber seatNumber, Enums.SeatType type, Enums.SeatClass @class, FlightId flightId,
public static Seat Create(SeatId id, SeatNumber seatNumber, Enums.SeatType type, Enums.SeatClass @class,
FlightId flightId,
bool isDeleted = false)
{
var seat = new Seat()
@ -30,11 +30,11 @@ public record Seat : Aggregate<SeatId>
};
var @event = new SeatCreatedDomainEvent(
seat.Id.Value,
seat.SeatNumber.Value,
seat.Id,
seat.SeatNumber,
seat.Type,
seat.Class,
seat.FlightId.Value,
seat.FlightId,
isDeleted);
seat.AddDomainEvent(@event);
@ -42,21 +42,19 @@ public record Seat : Aggregate<SeatId>
return seat;
}
public Task<Seat> ReserveSeat(Seat seat)
public void ReserveSeat()
{
seat.IsDeleted = true;
seat.LastModified = DateTime.Now;
this.IsDeleted = true;
this.LastModified = DateTime.Now;
var @event = new SeatReservedDomainEvent(
seat.Id.Value,
seat.SeatNumber.Value,
seat.Type,
seat.Class,
seat.FlightId.Value,
seat.IsDeleted);
this.Id,
this.SeatNumber,
this.Type,
this.Class,
this.FlightId,
this.IsDeleted);
seat.AddDomainEvent(@event);
return Task.FromResult(this);
this.AddDomainEvent(@event);
}
}

View File

@ -3,7 +3,7 @@ using BuildingBlocks.Core.Model;
namespace Passenger.Passengers.Models;
using Features.CompletingRegisterPassenger.V1;
using global::Passenger.Passengers.ValueObjects;
using ValueObjects;
using Identity.Consumers.RegisteringNewUser.V1;
public record Passenger : Aggregate<PassengerId>