2import '../../../../core/common/enums/collection_status.dart';
3import '../../../../core/common/models/collection_model.dart';
4import '../../../../core/isar/isar_local_database.dart';
5import '../../../../core/isar/models/collections/cancellation_reason_isar_model.dart';
6import '../../../../core/isar/models/collections/collection_rating_reason_isar_model.dart';
7import '../../../../core/isar/models/collections/completed_collection_isar_model.dart';
8import '../../../../core/isar/models/collections/pending_collection_operation_isar_model.dart';
9import '../../../../core/isar/models/collections/restaurant_collection_contacts_isar_model.dart';
10import '../../../../core/isar/models/collections/restaurant_partner_payments_isar_model.dart';
11import '../../../../core/isar/models/collections/todo_collection_isar_model.dart';
12import '../../../../core/services/offline_sync_service.dart';
13import '../../domain/entities/req/req_collection_confirmation_entity.dart';
14import '../../domain/entities/req/req_collection_validation_entity.dart';
15import '../models/req/req_collection_confirmation_model.dart';
16import '../models/req/req_collection_information_model.dart';
17import '../models/req/req_collection_payment_model.dart';
18import '../models/req/req_collection_rating_model.dart';
19import '../models/req/req_collection_status_model.dart';
20import '../models/res/res_cancelation_reason_model.dart';
21import '../models/res/res_collection_confirmation_model.dart';
22import '../models/res/res_collection_contact_model.dart';
23import '../models/res/res_collection_information_model.dart';
24import '../models/res/res_collection_rating_reason_model.dart';
25import '../models/res/res_collection_status_model.dart';
26import '../models/res/res_partner_payment_model.dart';
36 String? cancelationReasonId
41 data: ReqCollectionStatusModel(
44 cancellationReason: cancelationReasonId != null
45 ? ResCancelationReasonModel(
46 id:
int.tryParse(cancelationReasonId),
56 if (todoCollection != null){
63 if (todoCollection != null){
64 todoCollection.status =
status;
65 await
localDatabase.put<TodoCollectionIsarModel>(todoCollection);
69 return ResCollectionStatusModel(
73 cancelationReason: null,
92 required ReqCollectionInformationModel model,
102 data: ReqCollectionInformationModel(
114 return ResCollectionInformationModel(
115 id:
int.tryParse(model.id) ?? 0,
121 volume:
double.tryParse(model.volumeDeclared) ?? 0.0,
143 data: ReqCollectionConfirmationModel(
153 return ResCollectionConfirmationModel(
169 final cancelationReasons = result.map((e) => e.toModel()).toList();
170 return cancelationReasons;
179 final todoCollections = result.map((e) => e.toModel()).toList();
180 return todoCollections;
182 final result = await
localDatabase.getAll<CompletedCollectionIsarModel>();
183 final completedCollections = result.map((e) => e.toModel()).toList();
184 return completedCollections;
192 final result = partnerPaymentsIsar.where(
198 return resPartnerPaymentModelList ?? [];
205 final result = partnerContactsIsar.where(
211 return resPartnerContactsList ?? [];
215 required ReqCollectionPaymentModel reqCollectionPaymentModel,
219 data: reqCollectionPaymentModel.toJson(),
227 final ratingReasons = result.map((e) => e.toModel()).toList();
228 return ratingReasons;
232 required ReqCollectionRatingModel reqCollectionRatingModel,
236 data: reqCollectionRatingModel.toJson(),
241 int.parse(reqCollectionRatingModel.id),
243 if (todoCollection != null){
sealed class CheckInOutEvent extends Equatable userId
Future< void > sendCollectionRating({ required ReqCollectionRatingModel reqCollectionRatingModel, }) async
Future< List< ResCollectionContactModel > > getCollectionContactList({ required int restaurentId, }) async
Future< ResCollectionConfirmationModel > sendCollectionConfirmation({ required ReqCollectionConfirmationEntity confirmation, required String address, required String reference, required String restaurant, required int? restaurantId, required double volumeCollected, required double volumeDeclared }) async
Future< List< ResPartnerPaymentModel > > getCollectionPaymentModeList({ required int restaurentId, }) async
Future< List< ResCollectionRatingReasonModel > > getRatingReasons() async
Future< List< ResCancelationReasonModel > > getCollectionCancelationReasons() async
Future< void > sendCollectionPayment({ required ReqCollectionPaymentModel reqCollectionPaymentModel, }) async
Future< void > validateCollection({ required ReqCollectionValidationEntity validateCollection, }) async
Future< ResCollectionStatusModel > updateCollectionStatus({ required int collectionId, required String status, required String reference, String? cancelationReasonId }) async
Future< List< CollectionModel > > getCollections({ required bool notForToday, required String? type, }) async
Future< ResCollectionInformationModel > sendCollectionInformation({ required ReqCollectionInformationModel model, required String reference, required String address, required String restaurant, required int restaurantId, }) async
static IsarLocalDatabase get instance
List< PartnerPayment > partnerPayments
Map< String, dynamic > toJson()
class UpdateCollectionStatusEvent extends CollectionsEvent collectionId