Fix expense model

This commit is contained in:
Anmol Gupta 2018-06-22 12:17:25 +05:30
parent 366e8f30af
commit f669a01308
1 changed files with 47 additions and 43 deletions

View File

@ -5,25 +5,28 @@ import 'package:invoiceninja/data/models/entities.dart';
part 'expense_model.g.dart'; part 'expense_model.g.dart';
abstract class ExpenseListResponse implements Built<ExpenseListResponse, ExpenseListResponseBuilder> { abstract class ExpenseListResponse
implements Built<ExpenseListResponse, ExpenseListResponseBuilder> {
BuiltList<ExpenseEntity> get data; BuiltList<ExpenseEntity> get data;
ExpenseListResponse._(); ExpenseListResponse._();
factory ExpenseListResponse([updates(ExpenseListResponseBuilder b)]) = _$ExpenseListResponse; factory ExpenseListResponse([updates(ExpenseListResponseBuilder b)]) =
static Serializer<ExpenseListResponse> get serializer => _$expenseListResponseSerializer; _$ExpenseListResponse;
static Serializer<ExpenseListResponse> get serializer =>
_$expenseListResponseSerializer;
} }
abstract class ExpenseItemResponse implements Built<ExpenseItemResponse, ExpenseItemResponseBuilder> { abstract class ExpenseItemResponse
implements Built<ExpenseItemResponse, ExpenseItemResponseBuilder> {
ExpenseEntity get data; ExpenseEntity get data;
ExpenseItemResponse._(); ExpenseItemResponse._();
factory ExpenseItemResponse([updates(ExpenseItemResponseBuilder b)]) = _$ExpenseItemResponse; factory ExpenseItemResponse([updates(ExpenseItemResponseBuilder b)]) =
static Serializer<ExpenseItemResponse> get serializer => _$expenseItemResponseSerializer; _$ExpenseItemResponse;
static Serializer<ExpenseItemResponse> get serializer =>
_$expenseItemResponseSerializer;
} }
class ExpenseFields { class ExpenseFields {
static const String privateNotes = 'privateNotes'; static const String privateNotes = 'privateNotes';
static const String publicNotes = 'publicNotes'; static const String publicNotes = 'publicNotes';
@ -52,112 +55,111 @@ class ExpenseFields {
static const String isDeleted = 'isDeleted'; static const String isDeleted = 'isDeleted';
} }
abstract class ExpenseEntity extends Object with BaseEntity implements Built<ExpenseEntity, ExpenseEntityBuilder> { abstract class ExpenseEntity extends Object
with BaseEntity
implements Built<ExpenseEntity, ExpenseEntityBuilder> {
static int counter = 0; static int counter = 0;
factory ExpenseEntity() { factory ExpenseEntity() {
return _$ExpenseEntity._( return _$ExpenseEntity._(
id: --ExpenseEntity.counter, id: --ExpenseEntity.counter,
privateNotes: '',
publicNotes: '',
shouldBeInvoiced: false,
transactionId: '',
transactionReference: '',
bankId: '',
expenseCurrencyId: 0,
exchangeCurrencyId: 0,
amount: 0.0,
expenseDate: '',
exchangeRate: 0.0,
invoiceCurrencyId: 0,
taxName1: '',
taxRate1: '',
taxRate2: '',
clientId: 0,
invoiceId: 0,
vendorId: 0,
customValue1: '',
customValue2: '',
); );
} }
@nullable
@BuiltValueField(wireName: 'private_notes') @BuiltValueField(wireName: 'private_notes')
String get privateNotes; String get privateNotes;
@nullable
@BuiltValueField(wireName: 'public_notes') @BuiltValueField(wireName: 'public_notes')
String get publicNotes; String get publicNotes;
@nullable
@BuiltValueField(wireName: 'should_be_invoiced') @BuiltValueField(wireName: 'should_be_invoiced')
bool get shouldBeInvoiced; bool get shouldBeInvoiced;
@nullable
@BuiltValueField(wireName: 'transaction_id') @BuiltValueField(wireName: 'transaction_id')
String get transactionId; String get transactionId;
@nullable
@BuiltValueField(wireName: 'transaction_reference') @BuiltValueField(wireName: 'transaction_reference')
String get transactionReference; String get transactionReference;
@nullable
@BuiltValueField(wireName: 'bank_id') @BuiltValueField(wireName: 'bank_id')
String get bankId; String get bankId;
@nullable
@BuiltValueField(wireName: 'expense_currency_id') @BuiltValueField(wireName: 'expense_currency_id')
int get expenseCurrencyId; int get expenseCurrencyId;
@nullable
@BuiltValueField(wireName: 'expense_category_id') @BuiltValueField(wireName: 'expense_category_id')
int get exchangeCurrencyId; int get exchangeCurrencyId;
@nullable
double get amount; double get amount;
@nullable
@BuiltValueField(wireName: 'expense_date') @BuiltValueField(wireName: 'expense_date')
String get expenseDate; String get expenseDate;
@nullable
@BuiltValueField(wireName: 'exchange_rate') @BuiltValueField(wireName: 'exchange_rate')
double get exchangeRate; double get exchangeRate;
@nullable
@BuiltValueField(wireName: 'invoiceCurrencyId') @BuiltValueField(wireName: 'invoiceCurrencyId')
int get invoiceCurrencyId; int get invoiceCurrencyId;
@nullable
@BuiltValueField(wireName: 'tax_name1') @BuiltValueField(wireName: 'tax_name1')
String get taxName1; String get taxName1;
@nullable
@BuiltValueField(wireName: 'tax_rate1') @BuiltValueField(wireName: 'tax_rate1')
String get taxRate1; String get taxRate1;
@nullable
@BuiltValueField(wireName: 'tax_rate2') @BuiltValueField(wireName: 'tax_rate2')
String get taxRate2; String get taxRate2;
@nullable
@BuiltValueField(wireName: 'client_id') @BuiltValueField(wireName: 'client_id')
int get clientId; int get clientId;
@nullable
@BuiltValueField(wireName: 'invoice_id') @BuiltValueField(wireName: 'invoice_id')
int get invoiceId; int get invoiceId;
@nullable
@BuiltValueField(wireName: 'vendor_id') @BuiltValueField(wireName: 'vendor_id')
int get vendorId; int get vendorId;
@nullable
@BuiltValueField(wireName: 'custom_value1') @BuiltValueField(wireName: 'custom_value1')
String get customValue1; String get customValue1;
@nullable
@BuiltValueField(wireName: 'custom_value2') @BuiltValueField(wireName: 'custom_value2')
String get customValue2; String get customValue2;
@nullable
@BuiltValueField(wireName: 'expense_category') @BuiltValueField(wireName: 'expense_category')
BuiltList<ExpenseCategoryEntity> get expenseCtegories; BuiltList<ExpenseCategoryEntity> get expenseCtegories;
int compareTo(ExpenseEntity expense, String sortField, bool sortAscending) { int compareTo(ExpenseEntity expense, String sortField, bool sortAscending) {
int response = 0; int response = 0;
ExpenseEntity creditA = sortAscending ? this : expense; ExpenseEntity creditA = sortAscending ? this : expense;
ExpenseEntity creditB = sortAscending ? expense: this; ExpenseEntity creditB = sortAscending ? expense : this;
switch (sortField) { switch (sortField) {
case ExpenseFields.amount: case ExpenseFields.amount:
response = creditA.amount.compareTo(creditB.amount); response = creditA.amount.compareTo(creditB.amount);
} }
return response; return response;
} }
bool matchesSearch(String search) { bool matchesSearch(String search) {
if (search == null || search.isEmpty) { if (search == null || search.isEmpty) {
return true; return true;
@ -165,17 +167,19 @@ abstract class ExpenseEntity extends Object with BaseEntity implements Built<Exp
return privateNotes.contains(search); return privateNotes.contains(search);
} }
ExpenseEntity._(); ExpenseEntity._();
static Serializer<ExpenseEntity> get serializer => _$expenseEntitySerializer; static Serializer<ExpenseEntity> get serializer => _$expenseEntitySerializer;
} }
abstract class ExpenseCategoryEntity extends Object with BaseEntity implements Built<ExpenseCategoryEntity, ExpenseCategoryEntityBuilder> { abstract class ExpenseCategoryEntity extends Object
with BaseEntity
@nullable implements Built<ExpenseCategoryEntity, ExpenseCategoryEntityBuilder> {
String get name; String get name;
ExpenseCategoryEntity._(); ExpenseCategoryEntity._();
factory ExpenseCategoryEntity([updates(ExpenseCategoryEntityBuilder b)]) = _$ExpenseCategoryEntity; factory ExpenseCategoryEntity([updates(ExpenseCategoryEntityBuilder b)]) =
static Serializer<ExpenseCategoryEntity> get serializer => _$expenseCategoryEntitySerializer; _$ExpenseCategoryEntity;
} static Serializer<ExpenseCategoryEntity> get serializer =>
_$expenseCategoryEntitySerializer;
}