6177214e-ce7c-49e3-99de-ff9721b26f63 — Commit 5c453ecf
Changed files
.../overview/repository/overview_repository.dart | 347 ++------------------- .../lib/services/mappers/booking_mapper.dart | 8 +- .../lib/services/mappers/bookings_mapper.dart | 8 +- 3 files changed, 33 insertions(+), 330 deletions(-)
Diff
diff --git a/comwell_key_app/lib/overview/repository/overview_repository.dart b/comwell_key_app/lib/overview/repository/overview_repository.dart
index 5d261676..fd107837 100644
--- a/comwell_key_app/lib/overview/repository/overview_repository.dart
+++ b/comwell_key_app/lib/overview/repository/overview_repository.dart
@@ -1,6 +1,7 @@
import 'package:comwell_key_app/database/comwell_db.dart';
import 'package:comwell_key_app/overview/models/booking.dart';
import 'package:comwell_key_app/overview/models/bookings.dart';
+import 'package:comwell_key_app/overview/models/guest.dart';
import 'package:comwell_key_app/profile/profile_repository.dart';
import 'package:comwell_key_app/services/api.dart';
import 'package:comwell_key_app/services/mappers/booking_mapper.dart';
@@ -17,6 +18,11 @@ class OverviewRepository {
OverviewRepository();
Future<Bookings> fetchAllBookingsForUser(String userId) async {
+ return Bookings(
+ current: mockBookings,
+ past: mockBookings,
+ cancelled: mockBookings,
+ );
try {
final response = await api.fetchAllBookingsForUser();
final user = await profileRepository.fetchProfileSettings();
@@ -28,6 +34,7 @@ class OverviewRepository {
}
Future<Booking?> findBooking(String bookingReference, String lastName) async {
+ // needs implementation
final user = await database.userDAO.getUser();
final dto = BookingDTO(
roomNumber: "1234",
@@ -45,329 +52,23 @@ class OverviewRepository {
adults: 3,
children: 5,
totalCharge: 12345);
- return dto.toBooking(user.id);
+ return dto.toBooking(user.id, BookingStatus.current);
}
}
-final json = {
- "id": "1",
- "userId": "123",
- "roomNumber": "101",
- "startDate": "2024-10-22T14:00:00",
- "endDate": "2024-10-25T12:00:00",
- "status": "current",
- "image": "assets/images/current_room.png",
- "hotelName": "Hej Resort",
- "hotelCode": "SR001",
- "roomType": "Deluxe",
- "adults": 2,
- "children": 1,
- "booker": "John Doe",
- "bookingDate": "2024-10-15T14:00:00",
- "digitalCard": true,
- "paymentDetails": {
- "cardHolder": "John Doe",
- "cardNumber": "**** **** **** 1234",
- "expiryDate": "12/24",
- "cvc": "123",
- "cardType": "visa",
- "cardName": " Doe Visa"
- },
- "guests": [
- {"name": "John Smith", "id": "123"}
- ],
-};
-final response = {
- "current": [
- {
- "id": "1",
- "userId": "123",
- "roomNumber": "101",
- "startDate": "2024-10-22T14:00:00",
- "endDate": "2024-10-25T12:00:00",
- "status": "current",
- "image": "assets/images/current_room.png",
- "hotelName": "Seaside Resort",
- "hotelCode": "CBO",
- "roomType": "Deluxe",
- "adults": 3,
- "children": 1,
- "confirmationId": "",
- "booker": "John Doe",
- "bookingDate": "2024-10-15T14:00:00",
- "digitalCard": true,
- "guests": [
- {"name": "John Smith", "id": "123"},
- {"name": "Jane Smith", "id": "124"}
- ],
- "paymentDetails": {
- "cardHolder": "John Doe",
- "cardNumber": "**** **** **** 1234",
- "expiryDate": "12/24",
- "cvc": "123",
- "cardType": "visa",
- "cardName": " Doe Visa"
- }
- },
- {
- "id": "2",
- "userId": "124",
- "roomNumber": "102",
- "startDate": "2024-11-10T15:00:00",
- "endDate": "2024-11-12T11:00:00",
- "status": "current",
- "image": "assets/images/current_room.png",
- "hotelName": "Mountain View Hotel",
- "hotelCode": "CBO",
- "confirmationId": "",
- "roomType": "Suite",
- "adults": 1,
- "children": 0,
- "booker": "John Doe",
- "bookingDate": "2024-10-15T14:00:00",
- "digitalCard": true,
- "guests": [],
- "paymentDetails": {
- "cardHolder": "John Doe",
- "cardNumber": "**** **** **** 1234",
- "expiryDate": "12/24",
- "cvc": "123",
- "cardType": "visa",
- "cardName": " Doe Visa"
- }
- },
- {
- "id": "3",
- "userId": "125",
- "roomNumber": "103",
- "startDate": "2024-12-01T14:00:00",
- "endDate": "2024-12-05T12:00:00",
- "status": "current",
- "image": "assets/images/current_room.png",
- "hotelName": "Middelfart",
- "hotelCode": "CBO",
- "confirmationId": "",
- "roomType": "Standard",
- "adults": 2,
- "children": 0,
- "booker": "John Doe",
- "bookingDate": "2024-10-15T14:00:00",
- "digitalCard": true,
- "paymentDetails": {
- "cardHolder": "John Doe",
- "cardNumber": "**** **** **** 1234",
- "expiryDate": "12/24",
- "cvc": "123",
- "cardType": "mastercard",
- "cardName": " Doe mastercard"
- }
- },
- {
- "id": "4",
- "userId": "125",
- "roomNumber": "104",
- "startDate": "2025-04-10T14:00:00",
- "endDate": "2024-04-15T12:00:00",
- "status": "current",
- "image": "assets/images/current_room.png",
- "hotelName": "City Center Inn",
- "hotelCode": "CBO",
- "confirmationId": "",
- "roomType": "Standard",
- "adults": 2,
- "children": 0,
- "booker": "John Doe",
- "bookingDate": "2024-10-15T14:00:00",
- "digitalCard": false,
- "guests": [
- {"name": "Jane Doe", "id": "456"}
- ],
- "paymentDetails": {
- "cardHolder": "John Doe",
- "cardNumber": "**** **** **** 1234",
- "expiryDate": "12/24",
- "cvc": "123",
- "cardType": "mastercard",
- "cardName": " Doe mastercard"
- }
- }
- ],
- "past": [
- {
- "id": "4",
- "userId": "126",
- "roomNumber": "104",
- "confirmationId": "",
- "startDate": "2024-09-25T14:00:00",
- "endDate": "2024-09-28T12:00:00",
- "status": "past",
- "image": "assets/images/portside.png",
- "hotelName": "Luxury Suites",
- "hotelCode": "CBO",
- "roomType": "Executive",
- "adults": 2,
- "children": 1,
- "booker": "John Doe",
- "bookingDate": "2024-10-15T14:00:00",
- "digitalCard": true,
- "guests": [
- {"name": "Michael Johnson", "id": "789"}
- ],
- "paymentDetails": {
- "cardHolder": "John Doe",
- "cardNumber": "**** **** **** 1234",
- "expiryDate": "12/24",
- "cvc": "123",
- "cardType": "maestro",
- "cardName": " Doe Maestro"
- }
- },
- {
- "id": "5",
- "userId": "127",
- "roomNumber": "105",
- "confirmationId": "",
- "startDate": "2024-09-10T14:00:00",
- "endDate": "2024-09-12T12:00:00",
- "status": "past",
- "image": "assets/images/portside.png",
- "hotelName": "Forest Retreat",
- "hotelCode": "CBO",
- "roomType": "Cottage",
- "adults": 1,
- "children": 0,
- "booker": "John Doe",
- "bookingDate": "2024-10-15T14:00:00",
- "digitalCard": true,
- "guests": [
- {"name": "Jane Doe", "id": "456"}
- ],
- "paymentDetails": {
- "cardHolder": "John Doe",
- "cardNumber": "**** **** **** 1234",
- "expiryDate": "12/24",
- "cvc": "123",
- "cardType": "visa",
- "cardName": " Doe Visa"
- }
- },
- {
- "id": "6",
- "userId": "128",
- "roomNumber": "106",
- "confirmationId": "",
- "startDate": "2024-09-01T14:00:00",
- "endDate": "2024-09-05T12:00:00",
- "status": "past",
- "image": "assets/images/borupgaard.png",
- "hotelName": "Beachfront Hotel",
- "hotelCode": "CBO",
- "roomType": "Suite",
- "adults": 2,
- "children": 0,
- "booker": "John Doe",
- "bookingDate": "2024-10-15T14:00:00",
- "digitalCard": true,
- "guests": [
- {"name": "Sarah Williams", "id": "101"}
- ],
- "paymentDetails": {
- "cardHolder": "John Doe",
- "cardNumber": "**** **** **** 1234",
- "expiryDate": "12/24",
- "cvc": "123",
- "cardType": "mastercard",
- "cardName": " Doe master"
- }
- }
- ],
- "cancelled": [
- {
- "id": "7",
- "userId": "129",
- "roomNumber": "107",
- "confirmationId": "",
- "startDate": "2024-10-15T14:00:00",
- "endDate": "2024-10-17T12:00:00",
- "status": "cancelled",
- "image": "assets/images/borupgaard.png",
- "hotelName": "Urban Lodge",
- "hotelCode": "CBO",
- "roomType": "Standard",
- "adults": 1,
- "children": 0,
- "booker": "John Doe",
- "bookingDate": "2024-10-15T14:00:00",
- "digitalCard": true,
- "guests": [
- {"name": "Jane Doe", "id": "456"}
- ],
- "paymentDetails": {
- "cardHolder": "John Doe",
- "cardNumber": "**** **** **** 1234",
- "expiryDate": "12/24",
- "cvc": "123",
- "cardType": "visa",
- "cardName": " Doe Visa"
- }
- },
- {
- "id": "8",
- "userId": "130",
- "roomNumber": "108",
- "confirmationId": "",
- "startDate": "2024-10-10T14:00:00",
- "endDate": "2024-10-12T12:00:00",
- "status": "cancelled",
- "image": "assets/images/koegestrand.png",
- "hotelName": "Hilltop Cabins",
- "hotelCode": "CBO",
- "roomType": "Cabin",
- "adults": 2,
- "children": 0,
- "booker": "John Doe",
- "bookingDate": "2024-10-15T14:00:00",
- "digitalCard": true,
- "guests": [
- {"name": "David Brown", "id": "102"}
- ],
- "paymentDetails": {
- "cardHolder": "John Doe",
- "cardNumber": "**** **** **** 1234",
- "expiryDate": "12/24",
- "cvc": "123",
- "cardType": "maestro",
- "cardName": " Doe Maestro"
- }
- },
- {
- "id": "9",
- "userId": "131",
- "roomNumber": "109",
- "confirmationId": "",
- "startDate": "2024-11-05T14:00:00",
- "endDate": "2024-11-07T12:00:00",
- "status": "cancelled",
- "image": "assets/images/bygholmpark.png",
- "hotelName": "Lakeside Bungalows",
- "hotelCode": "CBO",
- "roomType": "Bungalow",
- "adults": 1,
- "children": 0,
- "booker": "John Doe",
- "bookingDate": "2024-10-15T14:00:00",
- "digitalCard": true,
- "guests": [
- {"name": "Jane Doe", "id": "456"}
- ],
- "paymentDetails": {
- "cardHolder": "John Doe",
- "cardNumber": "**** **** **** 1234",
- "expiryDate": "12/24",
- "cvc": "123",
- "cardType": "visa",
- "cardName": " Doe Visa"
- }
- }
- ]
-};
+final mockBookings = [1, 2, 3].map((i) => Booking(
+ id: "id$i",
+ confirmationId: "confirmationId$i",
+ roomNumber: "roomNumber$i",
+ startDate: DateTime.now(),
+ endDate: DateTime.now(),
+ status: BookingStatus.current,
+ image: "",
+ hotelName: "hotelName$i",
+ roomType: "roomType$i",
+ children: 3,
+ adults: 3,
+ hotelCode: "hotelCode$i",
+ booker: const Guest(id: "id", name: "name"),
+ bookingDate: DateTime.now(),
+ digitalCard: false));
diff --git a/comwell_key_app/lib/services/mappers/booking_mapper.dart b/comwell_key_app/lib/services/mappers/booking_mapper.dart
index 35df34be..1bf2a0e4 100644
--- a/comwell_key_app/lib/services/mappers/booking_mapper.dart
+++ b/comwell_key_app/lib/services/mappers/booking_mapper.dart
@@ -3,7 +3,7 @@ import 'package:comwell_key_app/overview/models/guest.dart';
import 'package:comwell_key_app/services/models/booking_dto.dart';
extension BookingDTOMapper on BookingDTO {
- Booking toBooking(int userId) {
+ Booking toBooking(int userId, BookingStatus status) {
final startDate = DateTime.parse(dayIn);
final endDate = DateTime.parse(dayOut);
return Booking(
@@ -12,7 +12,7 @@ extension BookingDTOMapper on BookingDTO {
roomNumber: roomNumber,
startDate: startDate,
endDate: endDate,
- status: BookingStatus.current,
+ status: status,
image: "",
hotelName: "Hotel $hotelCode",
roomType: roomType,
@@ -48,6 +48,6 @@ extension BookingMapper on Booking {
}
extension ListBookingMapper on Iterable<BookingDTO> {
- Iterable<Booking> toBookings(int userId) =>
- map((dto) => dto.toBooking(userId));
+ Iterable<Booking> toBookings(int userId, BookingStatus status) =>
+ map((dto) => dto.toBooking(userId, status));
}
diff --git a/comwell_key_app/lib/services/mappers/bookings_mapper.dart b/comwell_key_app/lib/services/mappers/bookings_mapper.dart
index 3bdb1438..46e5462c 100644
--- a/comwell_key_app/lib/services/mappers/bookings_mapper.dart
+++ b/comwell_key_app/lib/services/mappers/bookings_mapper.dart
@@ -1,3 +1,4 @@
+import 'package:comwell_key_app/overview/models/booking.dart';
import 'package:comwell_key_app/overview/models/bookings.dart';
import 'package:comwell_key_app/services/mappers/booking_mapper.dart';
import 'package:comwell_key_app/services/models/bookings_dto.dart';
@@ -5,8 +6,9 @@ import 'package:comwell_key_app/services/models/bookings_dto.dart';
extension BookingsMapper on BookingsDTO {
Bookings toBookings(int userId) {
return Bookings(
- current: current.toBookings(userId),
- past: past.toBookings(userId),
- cancelled: cancelled.toBookings(userId));
+ current: current.toBookings(userId, BookingStatus.current),
+ past: past.toBookings(userId, BookingStatus.past),
+ cancelled: cancelled.toBookings(userId, BookingStatus.cancelled),
+ );
}
}