import 'package:aitrainer_app/model/cache.dart'; import 'package:aitrainer_app/model/customer.dart'; import 'package:aitrainer_app/service/customer_service.dart'; class GenderItem { GenderItem(this.dbValue,this.name); final String dbValue; String name; } class CustomerRepository { Customer customer; Customer _trainee; List _trainees; //List customerList = List(); bool visibleDetails = false; List genders; CustomerRepository({this.customer}) { customer = Customer(); genders = [ GenderItem("m", "Man"), GenderItem("w", "Woman"), ]; } String getGenderByName(String name) { String dbValue; genders.forEach((element) { if (element.name == name) { dbValue = element.dbValue; } }); return dbValue; } String getGenderByDBValue(String dbValue) { String name; genders.forEach((element) { if (element.dbValue == dbValue) { name = element.name; } }); return name; } String get name { return this.customer.name != null ? this.customer.name : ""; } String get firstName { return this.customer.firstname != null ? this.customer.firstname : ""; } String get sex { return this.customer.sex == "m" ? "Man" : "Woman"; } int get birthYear { return this.customer.birthYear; } String get goal { return this.customer.goal; } String get fitnessLevel { return this.customer.fitnessLevel; } String get bodyType { return this.customer.bodyType; } setName(String name) { this.customer.name = name; } setFirstName(String firstName) { this.customer.firstname = firstName; } setPassword( String password ) { this.customer.password = password; } setEmail(String email) { this.customer.email = email; } setSex(String sex) { this.customer.sex = sex; } setWeight( int weight) { this.customer.weight = weight; } setBirthYear( int birthYear ) { this.customer.birthYear = birthYear; } setFitnessLevel( String level ) { this.customer.fitnessLevel = level; } setGoal( String goal ) { this.customer.goal = goal; } setBodyType(String bodyType) { this.customer.bodyType = bodyType; } createNew() { this.customer = Customer(); } Customer getCustomer() { return this.customer; } void setCustomer ( Customer customer ) { this.customer = customer; } Future addCustomer() async { final Customer modelCustomer = customer; await CustomerApi().addCustomer(modelCustomer); } Future saveCustomer() async { final Customer modelCustomer = customer; await CustomerApi().saveCustomer(modelCustomer); } Future getTraineeAsCustomer() async { this._trainee = await CustomerApi().getTrainee( Cache().userLoggedIn.customerId ); return _trainee; } Future> getTrainees() async { int trainerId = Cache().userLoggedIn.customerId; final results = await CustomerApi().getTrainees(trainerId); this._trainees = results; return results; } List getTraineesList() { return _trainees; } void setTrainee(int traineeId ) { if ( _trainees == null ) { return; } _trainees.forEach((element) { if ( traineeId == element.customerId) { this._trainee = element; } }); } void emptyTrainees() { _trainees = null; _trainee = null; } Customer getTrainee() { return this._trainee; } Customer getTraineeById(int customerId) { if (_trainees == null) { return null; } _trainees.forEach((element) { if ( customerId == element.customerId) { this._trainee = element; } }); return _trainee; } }