import 'package:fcs/data/provider/shipment_data_provider.dart';
import 'package:fcs/data/services/shipment_service.dart';
import 'package:fcs/domain/entities/connectivity.dart';
import 'package:fcs/domain/entities/shipment.dart';
import 'package:flutter/material.dart';

class ShipmentServiceImp implements ShipmentService {
  ShipmentServiceImp({
    @required this.shipmentDataProvider,
    @required this.connectivity,
  });

  final Connectivity connectivity;
  final ShipmentDataProvider shipmentDataProvider;

  @override
  Future<void> cancelShipment(Shipment shipment) {
    return shipmentDataProvider.cancelShipment(shipment);
  }

  @override
  Future<void> confirmShipment(Shipment shipment) {
    return shipmentDataProvider.confirmShipment(shipment);
  }

  @override
  Future<void> createShipment(Shipment shipment) {
    return shipmentDataProvider.createShipment(shipment);
  }

  @override
  Future<void> pickupShipment(Shipment shipment) {
    return shipmentDataProvider.pickupShipment(shipment);
  }

  @override
  Future<void> receiveShipment(Shipment shipment) {
    return shipmentDataProvider.receiveShipment(shipment);
  }

  @override
  Future<void> updateShipment(Shipment shipment) {
    return shipmentDataProvider.updateShipment(shipment);
  }

  @override
  Future<void> assignShipment(Shipment shipment) {
    return shipmentDataProvider.assignShipment(shipment);
  }

  @override
  Future<void> completeAssignShipment(Shipment shipment) {
    return shipmentDataProvider.completeAssignShipment(shipment);
  }

  @override
  Future<void> completePickupShipment(Shipment shipment) {
    return shipmentDataProvider.completePickupShipment(shipment);
  }

  @override
  Future<void> completePackShipment(Shipment shipment) {
    return shipmentDataProvider.completePackShipment(shipment);
  }

  @override
  Future<void> packShipment(Shipment shipment) {
    return shipmentDataProvider.packShipment(shipment);
  }

  @override
  Future<void> completeConfirmShipment(Shipment shipment) {
    return shipmentDataProvider.completeConfirmShipment(shipment);
  }

  @override
  Future<void> completeReceiveShipment(Shipment shipment) {
    return shipmentDataProvider.completeReceiveShipment(shipment);
  }
}
