add rate service

This commit is contained in:
Sai Naw Wun
2020-10-15 03:06:13 +06:30
parent 7b88658893
commit 47c07a6c88
45 changed files with 870 additions and 496 deletions

View File

@@ -0,0 +1,75 @@
import 'package:fcs/data/provider/rate_data_provider.dart';
import 'package:fcs/domain/entities/cargo_type.dart';
import 'package:fcs/domain/entities/connectivity.dart';
import 'package:fcs/domain/entities/discount_by_weight.dart';
import 'package:fcs/domain/entities/custom_duty.dart';
import 'package:fcs/domain/entities/rate.dart';
import 'package:flutter/material.dart';
import 'rate_service.dart';
class RateServiceImp implements RateService {
RateServiceImp({
@required this.rateDataProvider,
@required this.connectivity,
});
final Connectivity connectivity;
final RateDataProvider rateDataProvider;
@override
Stream<Rate> getRateStream() {
return rateDataProvider.rate();
}
@override
Future<void> createCargoType(CargoType cargoType) {
return rateDataProvider.createCargoType(cargoType);
}
@override
Future<void> createCustomDuty(CustomDuty customDuty) {
return rateDataProvider.createCustomDuty(customDuty);
}
@override
Future<void> createDiscountByWeight(DiscountByWeight discountByWeight) {
return rateDataProvider.createDiscountByWeight(discountByWeight);
}
@override
Future<void> deleteCargoType(String id) {
return rateDataProvider.deleteCargoType(id);
}
@override
Future<void> deleteCustomDuty(String id) {
return rateDataProvider.deleteCustomDuty(id);
}
@override
Future<void> deleteDiscountByWeight(String id) {
return rateDataProvider.deleteDiscountByWeight(id);
}
@override
Future<void> updateCargoType(CargoType cargoType) {
return rateDataProvider.updateCargoType(cargoType);
}
@override
Future<void> updateCustomDuty(CustomDuty customDuty) {
return rateDataProvider.updateCustomDuty(customDuty);
}
@override
Future<void> updateDiscountByWeight(DiscountByWeight discountByWeight) {
return rateDataProvider.updateDiscountByWeight(discountByWeight);
}
@override
Future<void> updateRate(Rate rate) {
// TODO: implement updateRate
throw UnimplementedError();
}
}

View File

@@ -0,0 +1,22 @@
import 'package:fcs/domain/entities/cargo_type.dart';
import 'package:fcs/domain/entities/custom_duty.dart';
import 'package:fcs/domain/entities/discount_by_weight.dart';
import 'package:fcs/domain/entities/rate.dart';
abstract class RateService {
Stream<Rate> getRateStream();
Future<void> updateRate(Rate rate);
Future<void> createCargoType(CargoType cargoType);
Future<void> updateCargoType(CargoType cargoType);
Future<void> deleteCargoType(String id);
Future<void> createCustomDuty(CustomDuty customDuty);
Future<void> updateCustomDuty(CustomDuty customDuty);
Future<void> deleteCustomDuty(String id);
Future<void> createDiscountByWeight(DiscountByWeight discountByWeight);
Future<void> updateDiscountByWeight(DiscountByWeight discountByWeight);
Future<void> deleteDiscountByWeight(String id);
}

View File

@@ -3,12 +3,14 @@ import 'package:fcs/data/provider/common_data_provider.dart';
import 'package:fcs/data/provider/delivery_address_data_provider.dart';
import 'package:fcs/data/provider/fcs_shipment_data_provider.dart';
import 'package:fcs/data/provider/package_data_provider.dart';
import 'package:fcs/data/provider/rate_data_provider.dart';
import 'package:fcs/data/provider/user_data_provider.dart';
import 'package:fcs/data/services/delivery_address_imp.dart';
import 'package:fcs/data/services/delivery_address_service.dart';
import 'package:fcs/data/services/fcs_shipment_imp.dart';
import 'package:fcs/data/services/fcs_shipment_service.dart';
import 'package:fcs/domain/vo/delivery_address.dart';
import 'package:fcs/data/services/rate_imp.dart';
import 'package:fcs/data/services/rate_service.dart';
import 'auth_imp.dart';
import 'auth_service.dart';
@@ -31,6 +33,7 @@ class Services {
CommonService _commonService;
FcsShipmentService _fcsShipmentService;
DeliveryAddressService _deliveryAddressService;
RateService _rateService;
Services._() {
_authService = AuthServiceImp(
authFb: AuthFb.instance,
@@ -47,6 +50,8 @@ class Services {
_deliveryAddressService = DeliveryAddressImp(
connectivity: null,
deliveryAddressDataProvider: DeliveryAddressDataProvider());
_rateService = RateServiceImp(
rateDataProvider: RateDataProvider.instance, connectivity: null);
}
AuthService get authService => _authService;
@@ -56,4 +61,5 @@ class Services {
CommonService get commonService => _commonService;
FcsShipmentService get fcsShipmentService => _fcsShipmentService;
DeliveryAddressService get deliveryAddressService => _deliveryAddressService;
RateService get rateService => _rateService;
}

View File

@@ -0,0 +1,23 @@
import 'package:fcs/domain/entities/cargo_type.dart';
import 'package:fcs/domain/entities/custom_duty.dart';
import 'package:fcs/domain/entities/discount_by_weight.dart';
import 'package:fcs/domain/entities/shipment.dart';
import 'package:fcs/domain/entities/rate.dart';
abstract class RateService {
Stream<Rate> getRateStream();
Future<void> createShipment(Shipment shipment);
Future<void> createCargoType(CargoType cargoType);
Future<void> updateCargoType(CargoType cargoType);
Future<void> deleteCargoType(String id);
Future<void> createCustomDuty(CustomDuty customDuty);
Future<void> updateCustomDuty(CustomDuty customDuty);
Future<void> deleteCustomDuty(String id);
Future<void> createDiscountByWeight(DiscountByWeight discountByWeight);
Future<void> updateDiscountByWeight(DiscountByWeight discountByWeight);
Future<void> deleteDiscountByWeight(String id);
}