Add warnings for missing sort fields

This commit is contained in:
Hillel Coren 2020-05-15 13:25:42 +03:00
parent b1fac254ca
commit 8034328dd5
10 changed files with 69 additions and 53 deletions

View File

@ -320,6 +320,11 @@ abstract class ClientEntity extends Object
final ClientEntity clientB = sortAscending ? client : this;
switch (sortField) {
case ClientFields.name:
response = clientA.displayName
.toLowerCase()
.compareTo(clientB.displayName.toLowerCase());
break;
case ClientFields.balance:
response = clientA.balance.compareTo(clientB.balance);
break;
@ -360,13 +365,7 @@ abstract class ClientEntity extends Object
break;
}
if (response == 0) {
return clientA.displayName
.toLowerCase()
.compareTo(clientB.displayName.toLowerCase());
} else {
return response;
}
return response;
}
@override

View File

@ -174,6 +174,9 @@ abstract class DocumentEntity extends Object
case DocumentFields.updatedAt:
response = documentA.updatedAt.compareTo(documentB.updatedAt);
break;
default:
print('## ERROR: sort by documents.$sortField is not implemented');
break;
}
/*

View File

@ -86,21 +86,21 @@ abstract class GroupEntity extends Object
String get languageId => settings.languageId;
int compareTo(GroupEntity group, String sortField, bool sortAscending) {
const int response = 0;
int response = 0;
final GroupEntity groupA = sortAscending ? this : group;
final GroupEntity groupB = sortAscending ? group : this;
switch (sortField) {
case GroupFields.name:
//response = groupA.balance.compareTo(groupB.balance);
//break;
response =
groupA.name.toLowerCase().compareTo(groupB.name.toLowerCase());
break;
default:
print('## ERROR: sort by group.$sortField is not implemented');
break;
}
if (response == 0) {
return groupA.name.toLowerCase().compareTo(groupB.name.toLowerCase());
} else {
return response;
}
return response;
}
@override

View File

@ -364,6 +364,9 @@ abstract class InvoiceEntity extends Object
final InvoiceEntity invoiceB = sortAscending ? invoice : this;
switch (sortField) {
case InvoiceFields.invoiceNumber:
response = (invoiceA.number ?? '').compareTo(invoiceB.number ?? '');
break;
case InvoiceFields.amount:
response = invoiceA.amount.compareTo(invoiceB.amount);
break;
@ -407,13 +410,13 @@ abstract class InvoiceEntity extends Object
.toLowerCase()
.compareTo(clientB.listDisplayName.toLowerCase());
break;
default:
print('## ERROR: sort by invoice.$sortField is not implemented');
break;
}
if (response == 0) {
return (invoiceA.number ?? '').compareTo(invoiceB.number ?? '');
} else {
return response;
}
return response;
}
@override

View File

@ -163,6 +163,11 @@ abstract class ProductEntity extends Object
final ProductEntity productB = sortAscending ? product : this;
switch (sortField) {
case ProductFields.productKey:
response = productA.productKey
.toLowerCase()
.compareTo(productB.productKey.toLowerCase());
break;
case ProductFields.price:
response = productA.price.compareTo(productB.price);
break;
@ -197,15 +202,12 @@ abstract class ProductEntity extends Object
.toLowerCase()
.compareTo(productB.customValue4.toLowerCase());
break;
default:
print('## ERROR: sort by product.$sortField is not implemented');
break;
}
if (response == 0) {
return productA.productKey
.toLowerCase()
.compareTo(productB.productKey.toLowerCase());
} else {
return response;
}
return response;
}
@override

View File

@ -158,6 +158,10 @@ abstract class ProjectEntity extends Object
final ProjectEntity projectB = sortAscending ? project : this;
switch (sortField) {
case ProjectFields.name:
response =
projectA.name.toLowerCase().compareTo(projectB.name.toLowerCase());
break;
case ProjectFields.taskRate:
response = projectA.taskRate.compareTo(projectB.taskRate);
break;
@ -166,11 +170,7 @@ abstract class ProjectEntity extends Object
break;
}
if (response == 0) {
return projectA.name.compareTo(projectB.name);
} else {
return response;
}
return response;
}
@override

View File

@ -429,13 +429,13 @@ abstract class TaskEntity extends Object
switch (sortField) {
case TaskFields.duration:
response = taskA.clientId.compareTo(taskB.clientId);
break;
default:
print('## ERROR: sort by task.$sortField is not implemented');
break;
}
if (response == 0) {
return taskA.projectId.compareTo(taskB.projectId);
} else {
return response;
}
return response;
}
@override

View File

@ -37,6 +37,7 @@ abstract class TaxRateItemResponse
class TaxRateFields {
static const String name = 'name';
static const String rate = 'rate';
static const String updatedAt = 'updated_at';
static const String archivedAt = 'archived_at';
static const String isDeleted = 'is_deleted';
@ -79,20 +80,24 @@ abstract class TaxRateEntity extends Object
bool get isEmpty => rate == 0 && name.isEmpty;
int compareTo(TaxRateEntity taxRate, String sortField, bool sortAscending) {
const int response = 0;
int response = 0;
final TaxRateEntity taxRateA = sortAscending ? this : taxRate;
final TaxRateEntity taxRateB = sortAscending ? taxRate : this;
switch (sortField) {
//response = taxRateA.balance.compareTo(taxRateB.balance);
//break;
case TaxRateFields.name:
response =
taxRateA.name.toLowerCase().compareTo(taxRateB.name.toLowerCase());
break;
case TaxRateFields.rate:
response = taxRateA.rate.compareTo(taxRateB.rate);
break;
default:
print('## ERROR: sort by .$sortField is not implemented');
break;
}
if (response == 0) {
return taxRateA.name.toLowerCase().compareTo(taxRateB.name.toLowerCase());
} else {
return response;
}
return response;
}
@override

View File

@ -135,21 +135,21 @@ abstract class UserEntity extends Object
final UserEntity userB = sortAscending ? user : this;
switch (sortField) {
case UserFields.lastName:
response = userA.lastName.toLowerCase().compareTo(userB.lastName.toLowerCase());
break;
case UserFields.firstName:
response = userA.firstName.compareTo(userB.firstName);
response = userA.firstName.toLowerCase().compareTo(userB.firstName.toLowerCase());
break;
case UserFields.email:
response = userA.email.compareTo(userB.email);
break;
default:
print('## ERROR: sort by user.$sortField is not implemented');
break;
}
if (response == 0) {
return userA.lastName
.toLowerCase()
.compareTo(userB.lastName.toLowerCase());
} else {
return response;
}
return response;
}
@override

View File

@ -87,6 +87,10 @@ abstract class StubEntity extends Object with BaseEntity implements Built<StubEn
switch (sortField) {
// STARTER: sort switch - do not remove comment
default:
print('## ERROR: sort by stub.$sortField is not implemented');
break;
}
if (response == 0) {