diff --git a/src/app/orders/components/order/order.component.html b/src/app/orders/components/order/order.component.html
index 7fceb50..ff496ab 100644
--- a/src/app/orders/components/order/order.component.html
+++ b/src/app/orders/components/order/order.component.html
@@ -16,9 +16,11 @@
Seat: {{ order.seatNumber }}
- Carriage type: {{ order.carriage }}
+ Carriage type: {{ order.carriage?.carriageName }}
+
+
+ Carriage №: {{ order.carriage?.carriageOrder }}
- // TBD: display carriage number
Price: {{ order.price | currency: 'USD' : 'symbol' : '1.0-0' }}
diff --git a/src/app/orders/components/order/order.component.ts b/src/app/orders/components/order/order.component.ts
index 635adcd..be0d9b9 100644
--- a/src/app/orders/components/order/order.component.ts
+++ b/src/app/orders/components/order/order.component.ts
@@ -8,8 +8,8 @@ import { Subscription } from 'rxjs';
import { User } from '@/app/api/models/order';
import { OrdersService } from '@/app/api/ordersService/orders.service';
import { ProfileService } from '@/app/api/profileService/profile.service';
+import { UserOrder } from '@/app/orders/models/userOrder.model';
import POSITION_DIRECTION from '@/app/shared/directives/position/constants/position.constants';
-import { UserOrder } from '@/app/shared/models/userOrder.model';
import { ModalService } from '@/app/shared/services/modal/modal.service';
import { USER_MESSAGE } from '@/app/shared/services/userMessage/constants/user-messages';
import { UserMessageService } from '@/app/shared/services/userMessage/user-message.service';
diff --git a/src/app/orders/components/orders-list/orders-list.component.ts b/src/app/orders/components/orders-list/orders-list.component.ts
index 31434fb..6c94373 100644
--- a/src/app/orders/components/orders-list/orders-list.component.ts
+++ b/src/app/orders/components/orders-list/orders-list.component.ts
@@ -5,9 +5,9 @@ import { PaginatorModule, PaginatorState } from 'primeng/paginator';
import { User } from '@/app/api/models/order';
import { OrdersService } from '@/app/api/ordersService/orders.service';
-import { UserOrder } from '@/app/shared/models/userOrder.model';
-import { UserOrderService } from '@/app/shared/services/data/userOrder/user-order.service';
+import { UserOrder } from '@/app/orders/models/userOrder.model';
+import { UserOrderService } from '../../services/userOrder/user-order.service';
import { OrderComponent } from '../order/order.component';
@Component({
diff --git a/src/app/shared/models/userOrder.model.ts b/src/app/orders/models/userOrder.model.ts
similarity index 75%
rename from src/app/shared/models/userOrder.model.ts
rename to src/app/orders/models/userOrder.model.ts
index 6f4c68c..adcc789 100644
--- a/src/app/shared/models/userOrder.model.ts
+++ b/src/app/orders/models/userOrder.model.ts
@@ -1,3 +1,5 @@
+import { TrainCarriage } from '@/app/shared/models/trainCarriage.model';
+
export interface UserOrder {
orderId: number;
rideId: number;
@@ -11,6 +13,6 @@ export interface UserOrder {
tripEndStationId: number;
tripDepartureDate: string;
tripArrivalDate: string;
- carriage: string;
+ carriage: TrainCarriage | null;
price: number;
}
diff --git a/src/app/orders/pages/orders/orders.component.ts b/src/app/orders/pages/orders/orders.component.ts
index dafb391..3ba1065 100644
--- a/src/app/orders/pages/orders/orders.component.ts
+++ b/src/app/orders/pages/orders/orders.component.ts
@@ -8,9 +8,9 @@ import { CarriageService } from '@/app/api/carriagesService/carriage.service';
import { OrdersService } from '@/app/api/ordersService/orders.service';
import { StationsService } from '@/app/api/stationsService/stations.service';
import { AuthService } from '@/app/auth/services/auth-service/auth.service';
-import { UserOrderService } from '@/app/shared/services/data/userOrder/user-order.service';
import { OrdersListComponent } from '../../components/orders-list/orders-list.component';
+import { UserOrderService } from '../../services/userOrder/user-order.service';
const imgUrl = '/img/png/no-results.webp';
diff --git a/src/app/shared/services/data/userOrder/user-order.service.spec.ts b/src/app/orders/services/userOrder/user-order.service.spec.ts
similarity index 100%
rename from src/app/shared/services/data/userOrder/user-order.service.spec.ts
rename to src/app/orders/services/userOrder/user-order.service.spec.ts
diff --git a/src/app/shared/services/data/userOrder/user-order.service.ts b/src/app/orders/services/userOrder/user-order.service.ts
similarity index 80%
rename from src/app/shared/services/data/userOrder/user-order.service.ts
rename to src/app/orders/services/userOrder/user-order.service.ts
index f821a87..4c2410a 100644
--- a/src/app/shared/services/data/userOrder/user-order.service.ts
+++ b/src/app/orders/services/userOrder/user-order.service.ts
@@ -2,12 +2,11 @@ import { inject, Injectable, signal } from '@angular/core';
import { Order } from '@/app/api/models/order';
import { OrdersService } from '@/app/api/ordersService/orders.service';
-import { UserOrder } from '@/app/shared/models/userOrder.model';
-
-import { TripCarriagesService } from '../tripCarriages/trip-carriages.service';
-import { TripDatesService } from '../tripDates/trip-dates.service';
-import { TripPriceService } from '../tripPrice/trip-price.service';
-import { TripStationsService } from '../tripStations/trip-stations.service';
+import { UserOrder } from '@/app/orders/models/userOrder.model';
+import { TripCarriagesService } from '@/app/shared/services/data/tripCarriages/trip-carriages.service';
+import { TripDatesService } from '@/app/shared/services/data/tripDates/trip-dates.service';
+import { TripPriceService } from '@/app/shared/services/data/tripPrice/trip-price.service';
+import { TripStationsService } from '@/app/shared/services/data/tripStations/trip-stations.service';
@Injectable({
providedIn: 'root',
@@ -48,11 +47,10 @@ export class UserOrderService {
);
const freeSeatsMap = this.tripCarriagesService.calculateFreeSeats(trainCarriages);
const carriageInfo = this.tripCarriagesService.createCarriageInfo(carriages, aggregatedPriceMap, freeSeatsMap);
- const carriage = this.tripCarriagesService.findUserCarriage(seatId, trainCarriages) ?? '';
- const price = this.tripPriceService.getCarriagePrice(carriage, carriageInfo);
+ const carriage = this.tripCarriagesService.findCarriageBySeat(seatId, trainCarriages) ?? null;
+ const price = this.tripPriceService.getCarriagePrice(carriage!.carriageName, carriageInfo);
return {
orderId: id,
-
rideId,
routeId,
seatNumber: seatId,
diff --git a/src/app/shared/services/data/tripCarriages/trip-carriages.service.ts b/src/app/shared/services/data/tripCarriages/trip-carriages.service.ts
index 3a0ae98..5ebecf6 100644
--- a/src/app/shared/services/data/tripCarriages/trip-carriages.service.ts
+++ b/src/app/shared/services/data/tripCarriages/trip-carriages.service.ts
@@ -7,6 +7,7 @@ import { CarriageInfo } from '@/app/shared/models/carriageInfo.model';
import { CarriageNameMap } from '@/app/shared/models/carriageNameMap.model';
import { FreeSeatsMap } from '@/app/shared/models/freeSeatsMap.model';
import { PriceMap } from '@/app/shared/models/priceMap.model';
+import { TrainCarriage } from '@/app/shared/models/trainCarriage.model';
import { TrainCarriages } from '@/app/shared/models/trainCarriages.model';
import { TripIndices } from '@/app/shared/models/tripIndices.model';
@@ -136,10 +137,10 @@ export class TripCarriagesService {
return freeSeatsMap;
}
- public findUserCarriage(seatNumber: number, trainCarriages: TrainCarriages): string {
+ public findCarriageBySeat(seatNumber: number, trainCarriages: TrainCarriages): TrainCarriage | null {
const carriage = Object.values(trainCarriages).find(
(crg) => seatNumber >= crg.firstSeat && seatNumber <= crg.lastSeat,
);
- return carriage ? carriage.carriageName : '';
+ return carriage || null;
}
}