serviceProofAtDate top-level property Providers

ProviderFamily<(List<Proof>, ProofList), ClientService> serviceProofAtDate
final

Create ProofList for ClientService at date, if date is null: ref.watch(appStateProvider) ?? DateTime.now().

{@category Providers}

Implementation

final serviceProofAtDate =
    Provider.family<(List<Proof>, ProofList), ClientService>(
  (ref, service) {
    final worker = ref.watch(workerProvider(service.apiKey));
    final proofList = proofListProvider(
      workerId: worker.key.workerDepId,
      contractId: service.contractId,
      date: standardFormat.format(
        (service.date ?? ref.watch(appStateProvider).atDate ?? DateTime.now())
            .dateOnly(),
      ),
      serviceId: service.servId,
      client: worker.clients
          .firstWhere(
            (element) => element.contractId == service.contractId,
            orElse: () => ref.read(stubClientProvider),
          )
          .name,
      worker: worker.key.name,
      // todo: should be apiKey
      service: service.shortText,
    );

    return (ref.watch(proofList), ref.watch(proofList.notifier));
  },
);