Aidra Driver 1.3.5+68
Aidra Driver - Your path to green energy
Loading...
Searching...
No Matches
planning_repository_impl.dart
Go to the documentation of this file.
1import 'package:dartz/dartz.dart';
2
3import '../../../../core/error/exceptipns/server_exception.dart';
4import '../../../../core/error/failures.dart';
5import '../../../../core/ui/theme/color_palette.dart';
6import '../../domain/entities/req/req_create_routing_entity.dart';
7import '../../domain/entities/req/req_create_driver_collection_entity.dart';
8import '../../domain/entities/res/res_weekly_collection_entity.dart';
9import '../../domain/entities/res/res_create_routing_entity.dart';
10import '../../domain/entities/res/res_collection_to_schedule_entity.dart';
11import '../../domain/repositories/planning_repository.dart';
12import '../datasources/planning_remote_datasource.dart';
13import '../models/req/req_create_routing_model.dart';
14import '../models/req/req_create_driver_collection_model.dart';
15
18
19 PlanningRepositoryImpl({required this.remoteDataSource});
20
21 @override
22 Future<Either<Failure, List<ResWeeklyCollectionEntity>>> getWeeklyCollections({
23 required int userId,
24 required String startDate,
25 required String endDate,
26 }) async {
27 try {
28 final result = await remoteDataSource.getWeeklyCollections(
32 );
33 return Right(result);
34 } on ServerException catch (e) {
35 return left(ServerFailure(message: e.message, color: ColorPalette.red));
36 } catch (e) {
37 return left(ServerFailure(message: e.toString(), color: ColorPalette.red));
38 }
39 }
40
41 @override
42 Future<Either<Failure, ResCreateRoutingEntity>> createRouting(ReqCreateRoutingEntity request) async {
43 try {
44 final model = ReqCreateRoutingModel.fromEntity(request);
45 final result = await remoteDataSource.createRouting(model);
46 return Right(result);
47 } on ServerException catch (e) {
48 return left(ServerFailure(message: e.message, color: ColorPalette.red));
49 } catch (e) {
50 return left(ServerFailure(message: e.toString(), color: ColorPalette.red));
51 }
52 }
53
54 @override
55 Future<Either<Failure, void>> validateScheduler({
56 required String timeStringValue,
57 required int driverId,
58 }) async {
59 try {
60 await remoteDataSource.validateScheduler(
61 timeStringValue: timeStringValue,
63 );
64 return const Right(null);
65 } on ServerException catch (e) {
66 return left(ServerFailure(message: e.message, color: ColorPalette.red));
67 } catch (e) {
68 return left(
69 ServerFailure(message: e.toString(), color: ColorPalette.red));
70 }
71 }
72
73 @override
74 Future<Either<Failure, bool>> createDriverCollection(
76 ) async {
77 try {
78 final model = ReqCreateDriverCollectionModel.fromEntity(request);
79 final result = await remoteDataSource.createDriverCollection(model);
80 return Right(result);
81 } on ServerException catch (e) {
82 return left(ServerFailure(message: e.message, color: ColorPalette.red));
83 } catch (e) {
84 return left(ServerFailure(message: e.toString(), color: ColorPalette.red));
85 }
86 }
87
88 @override
89 Future<Either<Failure, List<ResCollectionToScheduleEntity>>> getCollectionsToSchedule({
90 required String startDate,
91 required String endDate,
92 required int driverId,
93 }) async {
94 try {
95 final result = await remoteDataSource.getCollectionsToSchedule(
99 );
100 return Right(result);
101 } on ServerException catch (e) {
102 return left(ServerFailure(message: e.message, color: ColorPalette.red));
103 } catch (e) {
104 return left(ServerFailure(message: e.toString(), color: ColorPalette.red));
105 }
106 }
107}
sealed class CheckInOutEvent extends Equatable userId
static const red
Future< List< ResWeeklyCollectionModel > > getWeeklyCollections({ required int userId, required String startDate, required String endDate, }) async
Future< List< ResCollectionToScheduleModel > > getCollectionsToSchedule({ required String startDate, required String endDate, required int driverId, }) async
Future< void > validateScheduler({ required String timeStringValue, required int driverId, }) async
PlanningRepositoryImpl({required this.remoteDataSource})
override Future< Either< Failure, List< ResCollectionToScheduleEntity > > > getCollectionsToSchedule({ required String startDate, required String endDate, required int driverId, }) async
override Future< Either< Failure, void > > validateScheduler({ required String timeStringValue, required int driverId, }) async
override Future< Either< Failure, List< ResWeeklyCollectionEntity > > > getWeeklyCollections({ required int userId, required String startDate, required String endDate, }) async
override Future< Either< Failure, ResCreateRoutingEntity > > createRouting(ReqCreateRoutingEntity request) async
override Future< Either< Failure, bool > > createDriverCollection(ReqCreateDriverCollectionEntity request,) async
final PlanningRemoteDataSource remoteDataSource
abstract class CollectionsToScheduleEvent extends Equatable request
final String startDate
final String endDate
class Partner String
final Color color
Definition failures.dart:1
abstract class Failure extends Equatable ServerFailure({ required super.message, required super.color, })
final String message
Definition failures.dart:0
const ReqCreateDriverCollectionModel({ required super.collectionPoints, required super.user, })