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

View File

@ -174,6 +174,9 @@ abstract class DocumentEntity extends Object
case DocumentFields.updatedAt: case DocumentFields.updatedAt:
response = documentA.updatedAt.compareTo(documentB.updatedAt); response = documentA.updatedAt.compareTo(documentB.updatedAt);
break; 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; String get languageId => settings.languageId;
int compareTo(GroupEntity group, String sortField, bool sortAscending) { int compareTo(GroupEntity group, String sortField, bool sortAscending) {
const int response = 0; int response = 0;
final GroupEntity groupA = sortAscending ? this : group; final GroupEntity groupA = sortAscending ? this : group;
final GroupEntity groupB = sortAscending ? group : this; final GroupEntity groupB = sortAscending ? group : this;
switch (sortField) { switch (sortField) {
case GroupFields.name: case GroupFields.name:
//response = groupA.balance.compareTo(groupB.balance); response =
//break; groupA.name.toLowerCase().compareTo(groupB.name.toLowerCase());
break;
default:
print('## ERROR: sort by group.$sortField is not implemented');
break;
} }
if (response == 0) { return response;
return groupA.name.toLowerCase().compareTo(groupB.name.toLowerCase());
} else {
return response;
}
} }
@override @override

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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