50 lines
2.4 KiB
Dart
50 lines
2.4 KiB
Dart
import 'package:intl/intl.dart';
|
|
import 'package:aitrainer_app/model/cache.dart';
|
|
import 'package:aitrainer_app/model/mautic.dart';
|
|
import 'package:aitrainer_app/repository/customer_repository.dart';
|
|
import 'package:aitrainer_app/service/mautic.dart';
|
|
import 'package:aitrainer_app/util/app_language.dart';
|
|
|
|
class MauticRepository {
|
|
final CustomerRepository customerRepository;
|
|
|
|
const MauticRepository({required this.customerRepository});
|
|
|
|
Future<void> sendMauticSubscription() async {
|
|
Mautic mautic = Mautic();
|
|
mautic.formId = 2;
|
|
mautic.databaseId = Cache().userLoggedIn!.customerId!;
|
|
mautic.firstname = customerRepository.customer!.firstname == null ? "" : customerRepository.customer!.firstname!;
|
|
mautic.lastname = customerRepository.customer!.name == null ? "" : customerRepository.customer!.name!;
|
|
mautic.email = customerRepository.customer!.email == null ? "" : customerRepository.customer!.email!;
|
|
if (mautic.email == null || mautic.email!.contains("privaterelay.appleid.com")) {
|
|
return;
|
|
}
|
|
mautic.fitnessLevel = customerRepository.customer!.fitnessLevel == null ? "" : customerRepository.customer!.fitnessLevel!;
|
|
mautic.goal = customerRepository.customer!.goal == null ? "" : customerRepository.customer!.goal!;
|
|
mautic.subscriptionDate = DateFormat('yyyy-MM-dd HH:mm:ss').format(DateTime.now());
|
|
mautic.language = AppLanguage().appLocal.languageCode;
|
|
|
|
await MauticApi().sendMauticForm(mautic);
|
|
|
|
customerRepository.customer!.syncedDate = DateTime.now();
|
|
await customerRepository.saveCustomer();
|
|
}
|
|
|
|
Future<void> sendMauticDataChange() async {
|
|
Mautic mautic = Mautic();
|
|
mautic.formId = 3;
|
|
mautic.databaseId = Cache().userLoggedIn!.customerId!;
|
|
mautic.firstname = customerRepository.customer!.firstname == null ? "" : customerRepository.customer!.firstname!;
|
|
mautic.lastname = customerRepository.customer!.name == null ? "" : customerRepository.customer!.name!;
|
|
mautic.email = customerRepository.customer!.email == null ? "" : customerRepository.customer!.email!;
|
|
if (mautic.email == null || mautic.email!.contains("privaterelay.appleid.com")) {
|
|
return;
|
|
}
|
|
mautic.fitnessLevel = customerRepository.customer!.fitnessLevel == null ? "" : customerRepository.customer!.fitnessLevel!;
|
|
mautic.goal = customerRepository.customer!.goal == null ? "" : customerRepository.customer!.goal!;
|
|
|
|
await MauticApi().sendMauticForm(mautic);
|
|
}
|
|
}
|