From 67dd59ee9cdcc0f3dd2cd07a07daa0dd65bc7c85 Mon Sep 17 00:00:00 2001 From: Faris Armoush Date: Wed, 30 Apr 2025 15:30:25 +0300 Subject: [PATCH] Add GetTotalEnergyConsumptionParam and FakeTotalEnergyConsumptionService implementations --- .../get_total_energy_consumption_param.dart | 19 ++++++++++++++ ...fake_total_energy_consumption_service.dart | 25 +++++++++++++++++++ .../total_energy_consumption_service.dart | 8 ++++++ 3 files changed, 52 insertions(+) create mode 100644 lib/pages/analytics/params/get_total_energy_consumption_param.dart create mode 100644 lib/pages/analytics/services/total_energy_consumption/fake_total_energy_consumption_service.dart create mode 100644 lib/pages/analytics/services/total_energy_consumption/total_energy_consumption_service.dart diff --git a/lib/pages/analytics/params/get_total_energy_consumption_param.dart b/lib/pages/analytics/params/get_total_energy_consumption_param.dart new file mode 100644 index 00000000..a47078f0 --- /dev/null +++ b/lib/pages/analytics/params/get_total_energy_consumption_param.dart @@ -0,0 +1,19 @@ +class GetTotalEnergyConsumptionParam { + final String? startDate; + final String? endDate; + final String? spaceId; + + GetTotalEnergyConsumptionParam({ + this.startDate, + this.endDate, + this.spaceId, + }); + + Map toJson() { + return { + 'startDate': startDate, + 'endDate': endDate, + 'spaceId': spaceId, + }; + } +} diff --git a/lib/pages/analytics/services/total_energy_consumption/fake_total_energy_consumption_service.dart b/lib/pages/analytics/services/total_energy_consumption/fake_total_energy_consumption_service.dart new file mode 100644 index 00000000..9be25625 --- /dev/null +++ b/lib/pages/analytics/services/total_energy_consumption/fake_total_energy_consumption_service.dart @@ -0,0 +1,25 @@ +import 'package:syncrow_web/pages/analytics/models/energy_data_model.dart'; +import 'package:syncrow_web/pages/analytics/params/get_total_energy_consumption_param.dart'; +import 'package:syncrow_web/pages/analytics/services/total_energy_consumption/total_energy_consumption_service.dart'; + +class FakeTotalEnergyConsumptionService implements TotalEnergyConsumptionService { + @override + Future> getTotalEnergyConsumption( + GetTotalEnergyConsumptionParam param, + ) { + return Future.value([ + EnergyDataModel(date: DateTime(2025, 1), value: 18000), + EnergyDataModel(date: DateTime(2025, 2), value: 25000), + EnergyDataModel(date: DateTime(2025, 3), value: 22000), + EnergyDataModel(date: DateTime(2025, 4), value: 21000), + EnergyDataModel(date: DateTime(2025, 5), value: 30000), + EnergyDataModel(date: DateTime(2025, 6), value: 23000), + EnergyDataModel(date: DateTime(2025, 7), value: 21000), + EnergyDataModel(date: DateTime(2025, 8), value: 25000), + EnergyDataModel(date: DateTime(2025, 9), value: 21100), + EnergyDataModel(date: DateTime(2025, 10), value: 22000), + EnergyDataModel(date: DateTime(2025, 11), value: 21000), + EnergyDataModel(date: DateTime(2025, 12), value: 27500), + ]); + } +} diff --git a/lib/pages/analytics/services/total_energy_consumption/total_energy_consumption_service.dart b/lib/pages/analytics/services/total_energy_consumption/total_energy_consumption_service.dart new file mode 100644 index 00000000..2bc9680c --- /dev/null +++ b/lib/pages/analytics/services/total_energy_consumption/total_energy_consumption_service.dart @@ -0,0 +1,8 @@ +import 'package:syncrow_web/pages/analytics/models/energy_data_model.dart'; +import 'package:syncrow_web/pages/analytics/params/get_total_energy_consumption_param.dart'; + +abstract interface class TotalEnergyConsumptionService { + Future> getTotalEnergyConsumption( + GetTotalEnergyConsumptionParam param, + ); +}