1import 'package:dartz/dartz.dart';
2import 'package:geolocator/geolocator.dart';
4import '../../../../core/api/api_client.dart';
5import '../../../../core/api/api_endpoints.dart';
6import '../../../../core/error/exceptipns/server_exception.dart';
7import '../../../../core/error/failures.dart';
8import '../../../../core/services/offline_sync_service.dart';
9import '../../../../core/services/service_locator.dart';
10import '../../../../core/ui/theme/color_palette.dart';
11import '../../domain/entities/unloading_collection_entity.dart';
12import '../../domain/entities/unloading_history_entity.dart';
13import '../../domain/entities/warehouse_responsible_entity.dart';
14import '../../domain/repositories/unloading_repository.dart';
15import '../datasources/unloading_remote_datasource.dart';
16import '../models/unloading_request_model.dart';
32 } on ServerException
catch (e) {
44 } on ServerException
catch (e) {
55 return right(warehouseResponsibles);
56 } on ServerException
catch (e) {
65 required
double latitude,
66 required
double longitude,
73 "lag": latitude.toString(),
74 "longitude": longitude.toString(),
80 url: ApiEndpoints.sendGeoLocation,
84 return response.isNotEmpty;
91 Future<Either<Failure, bool>>
sendUnloading(UnloadingRequestModel unloadingRequestModel) async {
93 Position position = await Geolocator.getCurrentPosition(
94 locationSettings:
const LocationSettings(
95 accuracy: LocationAccuracy.high,
100 driverId: unloadingRequestModel.userId,
101 latitude: position.latitude,
102 longitude: position.longitude,
106 await
remoteDataSource.sendUnloading(unloadingRequestModel: unloadingRequestModel);
108 } on ServerException
catch (e) {
sealed class CheckInOutEvent extends Equatable userId
Future< Map< String, dynamic > > post({ String? url, String? path, required Map< String, dynamic > data, }) async
Future< void > syncPendingOperations() async
override Future< Either< Failure, bool > > sendUnloading(UnloadingRequestModel unloadingRequestModel) async
final UnloadingRemoteDatasource remoteDataSource
override Future< Either< Failure, List< UnloadingCollectionEntity > > > getPendingUnloadingCollections(int userId) async
UnloadingRepositoryImpl({required this.remoteDataSource})
Future< bool > _sendLocationToServer({ required int driverId, required double latitude, required double longitude, int? poId, String? poStatus, }) async
override Future< Either< Failure, List< WarehouseResponsibleEntity > > > getWarehouseResponsibleList(int userId) async
override Future< Either< Failure, List< UnloadingHistoryEntity > > > getHistoryUnloading(int userId) async
sealed class CollectionsState extends Equatable collections
abstract class Failure extends Equatable ServerFailure({ required super.message, required super.color, })
final ApiClient _apiClient
class PendingUnloadingCollectionsLoaded extends UnloadingState history