Refactor
This commit is contained in:
parent
c690006984
commit
85fd533452
|
|
@ -6,6 +6,7 @@ import 'package:invoiceninja_flutter/data/models/company_model.dart';
|
|||
import 'package:invoiceninja_flutter/data/models/entities.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/gateway_token_model.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/models.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||
import 'package:invoiceninja_flutter/utils/formatting.dart';
|
||||
|
||||
part 'client_model.g.dart';
|
||||
|
|
@ -55,7 +56,7 @@ class ClientFields {
|
|||
abstract class ClientEntity extends Object
|
||||
with BaseEntity, SelectableEntity
|
||||
implements Built<ClientEntity, ClientEntityBuilder> {
|
||||
factory ClientEntity({String id}) {
|
||||
factory ClientEntity({String id, AppState state}) {
|
||||
return _$ClientEntity._(
|
||||
id: id ?? BaseEntity.nextId,
|
||||
isChanged: false,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import 'package:built_value/serializer.dart';
|
|||
import 'package:invoiceninja_flutter/constants.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/entities.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/models.dart';
|
||||
import 'package:invoiceninja_flutter/redux/ui/pref_state.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||
import 'package:invoiceninja_flutter/utils/formatting.dart';
|
||||
|
||||
part 'expense_model.g.dart';
|
||||
|
|
@ -69,8 +69,7 @@ abstract class ExpenseEntity extends Object
|
|||
implements Built<ExpenseEntity, ExpenseEntityBuilder> {
|
||||
factory ExpenseEntity(
|
||||
{String id,
|
||||
CompanyEntity company,
|
||||
PrefState prefState,
|
||||
AppState state,
|
||||
VendorEntity vendor,
|
||||
ClientEntity client}) {
|
||||
return _$ExpenseEntity._(
|
||||
|
|
@ -79,7 +78,7 @@ abstract class ExpenseEntity extends Object
|
|||
privateNotes: '',
|
||||
publicNotes: '',
|
||||
shouldBeInvoiced: false,
|
||||
invoiceDocuments: prefState?.addDocumentsToInvoice ?? false,
|
||||
invoiceDocuments: state?.prefState?.addDocumentsToInvoice ?? false,
|
||||
transactionId: '',
|
||||
transactionReference: '',
|
||||
bankId: '',
|
||||
|
|
@ -90,10 +89,10 @@ abstract class ExpenseEntity extends Object
|
|||
exchangeRate: 1,
|
||||
expenseCurrencyId: (vendor != null && vendor.hasCurrency)
|
||||
? vendor.currencyId
|
||||
: (company?.currencyId ?? kDefaultCurrencyId),
|
||||
: (state?.company?.currencyId ?? kDefaultCurrencyId),
|
||||
invoiceCurrencyId: (client != null && client.hasCurrency)
|
||||
? client.currencyId
|
||||
: (company?.currencyId ?? kDefaultCurrencyId),
|
||||
: (state?.company?.currencyId ?? kDefaultCurrencyId),
|
||||
taxName1: '',
|
||||
taxName2: '',
|
||||
taxRate1: 0,
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import 'package:built_value/serializer.dart';
|
|||
import 'package:invoiceninja_flutter/data/models/company_model.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/entities.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/models.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||
import 'package:invoiceninja_flutter/utils/formatting.dart';
|
||||
|
||||
part 'group_model.g.dart';
|
||||
|
|
@ -43,7 +44,7 @@ class GroupFields {
|
|||
abstract class GroupEntity extends Object
|
||||
with BaseEntity, SelectableEntity
|
||||
implements Built<GroupEntity, GroupEntityBuilder> {
|
||||
factory GroupEntity({String id}) {
|
||||
factory GroupEntity({String id, AppState state}) {
|
||||
return _$GroupEntity._(
|
||||
id: id ?? BaseEntity.nextId,
|
||||
isChanged: false,
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import 'package:invoiceninja_flutter/data/models/entities.dart';
|
|||
import 'package:invoiceninja_flutter/data/models/mixins/invoice_mixin.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/models.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/quote_model.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||
import 'package:invoiceninja_flutter/utils/formatting.dart';
|
||||
|
||||
part 'invoice_model.g.dart';
|
||||
|
|
@ -70,8 +71,9 @@ abstract class InvoiceEntity extends Object
|
|||
factory InvoiceEntity(
|
||||
{String id,
|
||||
bool isQuote = false,
|
||||
CompanyEntity company,
|
||||
AppState state,
|
||||
ClientEntity client}) {
|
||||
final company = state?.company;
|
||||
return _$InvoiceEntity._(
|
||||
id: id ?? BaseEntity.nextId,
|
||||
isChanged: false,
|
||||
|
|
@ -520,8 +522,8 @@ abstract class InvoiceEntity extends Object
|
|||
String get invitationDownloadLink =>
|
||||
invitations.isEmpty ? '' : invitations.first.downloadLink;
|
||||
|
||||
PaymentEntity createPayment(CompanyEntity company) {
|
||||
return PaymentEntity(company: company).rebuild((b) => b
|
||||
PaymentEntity createPayment(AppState state) {
|
||||
return PaymentEntity(state: state).rebuild((b) => b
|
||||
..invoiceId = id
|
||||
..clientId = clientId
|
||||
..amount = balance);
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import 'package:built_value/serializer.dart';
|
|||
import 'package:invoiceninja_flutter/constants.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/entities.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/models.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||
import 'package:invoiceninja_flutter/utils/formatting.dart';
|
||||
|
||||
part 'payment_model.g.dart';
|
||||
|
|
@ -54,16 +55,16 @@ class PaymentFields {
|
|||
abstract class PaymentEntity extends Object
|
||||
with BaseEntity, SelectableEntity
|
||||
implements Built<PaymentEntity, PaymentEntityBuilder> {
|
||||
factory PaymentEntity({String id, CompanyEntity company}) {
|
||||
factory PaymentEntity({String id, AppState state}) {
|
||||
return _$PaymentEntity._(
|
||||
id: id ?? BaseEntity.nextId,
|
||||
isChanged: false,
|
||||
amount: 0.0,
|
||||
transactionReference: '',
|
||||
paymentDate: convertDateTimeToSqlDate(),
|
||||
paymentTypeId: company != null &&
|
||||
(company.settings.defaultPaymentTypeId ?? '').isNotEmpty
|
||||
? company.settings.defaultPaymentTypeId
|
||||
paymentTypeId: state?.company != null &&
|
||||
(state.company.settings.defaultPaymentTypeId ?? '').isNotEmpty
|
||||
? state.company.settings.defaultPaymentTypeId
|
||||
: '',
|
||||
invoiceId: '',
|
||||
clientId: '',
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ import 'package:built_value/built_value.dart';
|
|||
import 'package:built_value/serializer.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/entities.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/models.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||
import 'package:invoiceninja_flutter/utils/formatting.dart';
|
||||
|
||||
part 'product_model.g.dart';
|
||||
|
|
@ -47,7 +48,7 @@ class ProductFields {
|
|||
abstract class ProductEntity extends Object
|
||||
with BaseEntity, SelectableEntity
|
||||
implements Built<ProductEntity, ProductEntityBuilder> {
|
||||
factory ProductEntity({String id}) {
|
||||
factory ProductEntity({String id, AppState state}) {
|
||||
return _$ProductEntity._(
|
||||
id: id ?? BaseEntity.nextId,
|
||||
isChanged: false,
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ import 'package:built_value/built_value.dart';
|
|||
import 'package:built_value/serializer.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/entities.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/models.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||
import 'package:invoiceninja_flutter/utils/formatting.dart';
|
||||
|
||||
part 'project_model.g.dart';
|
||||
|
|
@ -51,7 +52,7 @@ class ProjectFields {
|
|||
abstract class ProjectEntity extends Object
|
||||
with BaseEntity, SelectableEntity
|
||||
implements Built<ProjectEntity, ProjectEntityBuilder> {
|
||||
factory ProjectEntity({String id}) {
|
||||
factory ProjectEntity({String id, AppState state}) {
|
||||
return _$ProjectEntity._(
|
||||
id: id ?? BaseEntity.nextId,
|
||||
isChanged: false,
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import 'package:invoiceninja_flutter/data/models/client_model.dart';
|
|||
import 'package:invoiceninja_flutter/data/models/company_model.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/entities.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/models.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||
import 'package:invoiceninja_flutter/utils/formatting.dart';
|
||||
|
||||
part 'task_model.g.dart';
|
||||
|
|
@ -127,7 +128,8 @@ abstract class TaskTime implements Built<TaskTime, TaskTimeBuilder> {
|
|||
abstract class TaskEntity extends Object
|
||||
with BaseEntity, SelectableEntity, BelongsToClient
|
||||
implements Built<TaskEntity, TaskEntityBuilder> {
|
||||
factory TaskEntity({String id, bool isRunning = false}) {
|
||||
factory TaskEntity({String id, AppState state}) {
|
||||
final isRunning = state?.prefState?.autoStartTasks ?? false;
|
||||
return _$TaskEntity._(
|
||||
id: id ?? BaseEntity.nextId,
|
||||
isChanged: false,
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import 'package:built_value/serializer.dart';
|
|||
import 'package:invoiceninja_flutter/data/models/company_model.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/entities.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/models.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||
import 'package:invoiceninja_flutter/utils/formatting.dart';
|
||||
|
||||
part 'tax_rate_model.g.dart';
|
||||
|
|
@ -44,7 +45,7 @@ class TaxRateFields {
|
|||
abstract class TaxRateEntity extends Object
|
||||
with BaseEntity, SelectableEntity
|
||||
implements Built<TaxRateEntity, TaxRateEntityBuilder> {
|
||||
factory TaxRateEntity({String id, String name, double rate}) {
|
||||
factory TaxRateEntity({String id, String name, double rate, AppState state}) {
|
||||
return _$TaxRateEntity._(
|
||||
id: BaseEntity.nextId,
|
||||
isChanged: false,
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import 'package:built_value/serializer.dart';
|
|||
import 'package:invoiceninja_flutter/data/models/company_model.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/entities.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/models.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||
import 'package:invoiceninja_flutter/utils/formatting.dart';
|
||||
|
||||
part 'user_model.g.dart';
|
||||
|
|
@ -45,7 +46,7 @@ class UserFields {
|
|||
abstract class UserEntity extends Object
|
||||
with BaseEntity, SelectableEntity
|
||||
implements Built<UserEntity, UserEntityBuilder> {
|
||||
factory UserEntity({String id}) {
|
||||
factory UserEntity({String id, AppState state}) {
|
||||
return _$UserEntity._(
|
||||
id: id ?? BaseEntity.nextId,
|
||||
isChanged: false,
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ import 'package:built_value/built_value.dart';
|
|||
import 'package:built_value/serializer.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/entities.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/models.dart';
|
||||
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
|
||||
import 'package:invoiceninja_flutter/utils/formatting.dart';
|
||||
|
||||
part 'vendor_model.g.dart';
|
||||
|
|
@ -61,7 +62,7 @@ class VendorFields {
|
|||
abstract class VendorEntity extends Object
|
||||
with BaseEntity, SelectableEntity
|
||||
implements Built<VendorEntity, VendorEntityBuilder> {
|
||||
factory VendorEntity({String id}) {
|
||||
factory VendorEntity({String id, AppState state}) {
|
||||
return _$VendorEntity._(
|
||||
id: id ?? BaseEntity.nextId,
|
||||
isChanged: false,
|
||||
|
|
|
|||
|
|
@ -314,113 +314,84 @@ void viewEntity(
|
|||
entityType: entity.entityType,
|
||||
force: force);
|
||||
|
||||
BaseEntity createDefaultEntity({BuildContext context, EntityType entityType}) {
|
||||
final store = StoreProvider.of<AppState>(context);
|
||||
final state = store.state;
|
||||
final company = state.company;
|
||||
|
||||
switch (entityType) {
|
||||
case EntityType.client:
|
||||
return ClientEntity();
|
||||
break;
|
||||
case EntityType.user:
|
||||
return UserEntity();
|
||||
case EntityType.project:
|
||||
return ProjectEntity();
|
||||
case EntityType.taxRate:
|
||||
return TaxRateEntity();
|
||||
case EntityType.companyGateway:
|
||||
return CompanyGatewayEntity();
|
||||
case EntityType.invoice:
|
||||
return InvoiceEntity(company: company);
|
||||
//case EntityType.recurringInvoice:
|
||||
//store.dispatch(ViewRecurringInvoice(recurringInvoiceId: entityId, navigator: navigator));
|
||||
//break;
|
||||
case EntityType.quote:
|
||||
return InvoiceEntity(company: company, isQuote: true);
|
||||
case EntityType.vendor:
|
||||
return VendorEntity();
|
||||
case EntityType.product:
|
||||
return ProductEntity();
|
||||
case EntityType.task:
|
||||
return TaskEntity(isRunning: state.prefState.autoStartTasks);
|
||||
case EntityType.expense:
|
||||
return ExpenseEntity(prefState: state.prefState);
|
||||
//case EntityType.expenseCategory:
|
||||
//store.dispatch(ViewExpenseCategory(taxRateId: entityId, navigator: navigator));
|
||||
//break;
|
||||
//case EntityType.credit:
|
||||
//store.dispatch(ViewCredit(creditId: entityId, navigator: navigator));
|
||||
//break;
|
||||
case EntityType.payment:
|
||||
return PaymentEntity(company: company);
|
||||
case EntityType.group:
|
||||
return GroupEntity();
|
||||
// TODO Add to starter
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
void createEntityByType(
|
||||
{BuildContext context, EntityType entityType, bool force = false}) {
|
||||
final store = StoreProvider.of<AppState>(context);
|
||||
final state = store.state;
|
||||
final navigator = Navigator.of(context);
|
||||
final entity = createDefaultEntity(context: context, entityType: entityType);
|
||||
|
||||
switch (entityType) {
|
||||
case EntityType.client:
|
||||
store.dispatch(EditClient(
|
||||
client: ClientEntity(),
|
||||
client: ClientEntity(state: state),
|
||||
navigator: navigator,
|
||||
force: force,
|
||||
));
|
||||
force: force));
|
||||
break;
|
||||
case EntityType.user:
|
||||
store
|
||||
.dispatch(EditUser(navigator: navigator, force: force, user: entity));
|
||||
store.dispatch(EditUser(
|
||||
navigator: navigator,
|
||||
force: force,
|
||||
user: UserEntity(state: state),
|
||||
));
|
||||
break;
|
||||
case EntityType.project:
|
||||
store.dispatch(
|
||||
EditProject(navigator: navigator, force: force, project: entity));
|
||||
store.dispatch(EditProject(
|
||||
navigator: navigator,
|
||||
force: force,
|
||||
project: ProjectEntity(state: state)));
|
||||
break;
|
||||
case EntityType.taxRate:
|
||||
store.dispatch(
|
||||
EditTaxRate(navigator: navigator, force: force, taxRate: entity));
|
||||
store.dispatch(EditTaxRate(
|
||||
navigator: navigator,
|
||||
force: force,
|
||||
taxRate: TaxRateEntity(state: state)));
|
||||
break;
|
||||
case EntityType.companyGateway:
|
||||
store.dispatch(EditCompanyGateway(
|
||||
navigator: navigator, force: force, companyGateway: entity));
|
||||
navigator: navigator,
|
||||
force: force,
|
||||
companyGateway: CompanyGatewayEntity()));
|
||||
break;
|
||||
case EntityType.invoice:
|
||||
store.dispatch(EditInvoice(
|
||||
navigator: navigator,
|
||||
force: force,
|
||||
invoice: entity,
|
||||
invoice: InvoiceEntity(state: state),
|
||||
));
|
||||
break;
|
||||
//case EntityType.recurringInvoice:
|
||||
//store.dispatch(ViewRecurringInvoice(recurringInvoiceId: entityId, navigator: navigator));
|
||||
//break;
|
||||
case EntityType.quote:
|
||||
store.dispatch(
|
||||
EditQuote(navigator: navigator, force: force, quote: entity));
|
||||
store.dispatch(EditQuote(
|
||||
navigator: navigator,
|
||||
force: force,
|
||||
quote: InvoiceEntity(
|
||||
state: state,
|
||||
isQuote: true,
|
||||
)));
|
||||
break;
|
||||
case EntityType.vendor:
|
||||
store.dispatch(
|
||||
EditVendor(navigator: navigator, force: force, vendor: entity));
|
||||
store.dispatch(EditVendor(
|
||||
navigator: navigator,
|
||||
force: force,
|
||||
vendor: VendorEntity(state: state)));
|
||||
break;
|
||||
case EntityType.product:
|
||||
store.dispatch(
|
||||
EditProduct(navigator: navigator, force: force, product: entity));
|
||||
store.dispatch(EditProduct(
|
||||
navigator: navigator,
|
||||
force: force,
|
||||
product: ProductEntity(state: state)));
|
||||
break;
|
||||
case EntityType.task:
|
||||
store
|
||||
.dispatch(EditTask(navigator: navigator, force: force, task: entity));
|
||||
store.dispatch(EditTask(
|
||||
navigator: navigator, force: force, task: TaskEntity(state: state)));
|
||||
break;
|
||||
case EntityType.expense:
|
||||
store.dispatch(
|
||||
EditExpense(navigator: navigator, force: force, expense: entity));
|
||||
store.dispatch(EditExpense(
|
||||
navigator: navigator,
|
||||
force: force,
|
||||
expense: ExpenseEntity(state: state)));
|
||||
break;
|
||||
//case EntityType.expenseCategory:
|
||||
//store.dispatch(ViewExpenseCategory(taxRateId: entityId, navigator: navigator));
|
||||
|
|
@ -429,12 +400,17 @@ void createEntityByType(
|
|||
//store.dispatch(ViewCredit(creditId: entityId, navigator: navigator));
|
||||
//break;
|
||||
case EntityType.payment:
|
||||
store.dispatch(
|
||||
EditPayment(navigator: navigator, force: force, payment: entity));
|
||||
store.dispatch(EditPayment(
|
||||
navigator: navigator,
|
||||
force: force,
|
||||
payment: PaymentEntity(state: state)));
|
||||
break;
|
||||
case EntityType.group:
|
||||
store.dispatch(
|
||||
EditGroup(navigator: navigator, force: force, group: entity));
|
||||
store.dispatch(EditGroup(
|
||||
navigator: navigator,
|
||||
force: force,
|
||||
group: GroupEntity(state: state),
|
||||
));
|
||||
break;
|
||||
// TODO Add to starter
|
||||
}
|
||||
|
|
|
|||
|
|
@ -285,7 +285,6 @@ void handleClientAction(
|
|||
|
||||
final store = StoreProvider.of<AppState>(context);
|
||||
final state = store.state;
|
||||
final CompanyEntity company = state.company;
|
||||
final localization = AppLocalization.of(context);
|
||||
final clientIds = clients.map((client) => client.id).toList();
|
||||
final client = clients[0];
|
||||
|
|
@ -297,18 +296,17 @@ void handleClientAction(
|
|||
case EntityAction.newInvoice:
|
||||
createEntity(
|
||||
context: context,
|
||||
entity: InvoiceEntity(company: company, client: client));
|
||||
entity: InvoiceEntity(state: state, client: client));
|
||||
break;
|
||||
case EntityAction.newExpense:
|
||||
createEntity(
|
||||
context: context,
|
||||
entity: ExpenseEntity(
|
||||
company: company, client: client, prefState: state.prefState));
|
||||
entity: ExpenseEntity(state: state, client: client));
|
||||
break;
|
||||
case EntityAction.newPayment:
|
||||
createEntity(
|
||||
context: context,
|
||||
entity: PaymentEntity(company: company)
|
||||
entity: PaymentEntity(state: state)
|
||||
.rebuild((b) => b.clientId = client.id));
|
||||
break;
|
||||
case EntityAction.restore:
|
||||
|
|
|
|||
|
|
@ -276,7 +276,7 @@ void handleExpenseAction(
|
|||
expense: expense, categoryMap: company.expenseCategoryMap);
|
||||
createEntity(
|
||||
context: context,
|
||||
entity: InvoiceEntity(company: company).rebuild((b) => b
|
||||
entity: InvoiceEntity(state: state).rebuild((b) => b
|
||||
..hasExpenses = true
|
||||
..clientId = expense.clientId
|
||||
..lineItems.add(item)));
|
||||
|
|
|
|||
|
|
@ -357,7 +357,6 @@ void handleInvoiceAction(BuildContext context, List<BaseEntity> invoices,
|
|||
|
||||
final store = StoreProvider.of<AppState>(context);
|
||||
final state = store.state;
|
||||
final CompanyEntity company = state.company;
|
||||
final localization = AppLocalization.of(context);
|
||||
final invoice = invoices.first as InvoiceEntity;
|
||||
final invoiceIds = invoices.map((invoice) => invoice.id).toList();
|
||||
|
|
@ -394,7 +393,7 @@ void handleInvoiceAction(BuildContext context, List<BaseEntity> invoices,
|
|||
createEntity(context: context, entity: invoice.clone); // TODO fix this
|
||||
break;
|
||||
case EntityAction.newPayment:
|
||||
createEntity(context: context, entity: invoice.createPayment(company));
|
||||
createEntity(context: context, entity: invoice.createPayment(state));
|
||||
break;
|
||||
case EntityAction.restore:
|
||||
store.dispatch(RestoreInvoiceRequest(
|
||||
|
|
|
|||
|
|
@ -226,7 +226,7 @@ void handleProductAction(
|
|||
convertProductToInvoiceItem(context: context, product: product);
|
||||
createEntity(
|
||||
context: context,
|
||||
entity: InvoiceEntity(company: state.company)
|
||||
entity: InvoiceEntity(state: state)
|
||||
.rebuild((b) => b..lineItems.add(item)));
|
||||
break;
|
||||
case EntityAction.edit:
|
||||
|
|
|
|||
|
|
@ -259,7 +259,6 @@ void handleProjectAction(
|
|||
|
||||
final store = StoreProvider.of<AppState>(context);
|
||||
final state = store.state;
|
||||
final CompanyEntity company = state.company;
|
||||
final project = projects.first as ProjectEntity;
|
||||
final projectIds = projects.map((project) => project.id).toList();
|
||||
|
||||
|
|
@ -270,7 +269,7 @@ void handleProjectAction(
|
|||
case EntityAction.newTask:
|
||||
createEntity(
|
||||
context: context,
|
||||
entity: TaskEntity(isRunning: state.prefState.autoStartTasks)
|
||||
entity: TaskEntity(state: state)
|
||||
.rebuild((b) => b
|
||||
..projectId = project.id
|
||||
..clientId = project.clientId));
|
||||
|
|
@ -280,7 +279,7 @@ void handleProjectAction(
|
|||
convertProjectToInvoiceItem(project: project, context: context);
|
||||
createEntity(
|
||||
context: context,
|
||||
entity: InvoiceEntity(company: company).rebuild((b) => b
|
||||
entity: InvoiceEntity(state: state).rebuild((b) => b
|
||||
..hasTasks = true
|
||||
..clientId = project.clientId
|
||||
..lineItems.addAll(items)));
|
||||
|
|
|
|||
|
|
@ -294,7 +294,6 @@ void handleTaskAction(
|
|||
|
||||
final store = StoreProvider.of<AppState>(context);
|
||||
final state = store.state;
|
||||
final CompanyEntity company = state.company;
|
||||
final localization = AppLocalization.of(context);
|
||||
final task = tasks.first as TaskEntity;
|
||||
final taskIds = tasks.map((task) => task.id).toList();
|
||||
|
|
@ -332,7 +331,7 @@ void handleTaskAction(
|
|||
final item = convertTaskToInvoiceItem(task: task, context: context);
|
||||
createEntity(
|
||||
context: context,
|
||||
entity: InvoiceEntity(company: company).rebuild((b) => b
|
||||
entity: InvoiceEntity(state: state).rebuild((b) => b
|
||||
..hasTasks = true
|
||||
..clientId = task.clientId
|
||||
..lineItems.add(item)));
|
||||
|
|
|
|||
|
|
@ -284,7 +284,6 @@ void handleVendorAction(
|
|||
|
||||
final store = StoreProvider.of<AppState>(context);
|
||||
final state = store.state;
|
||||
final CompanyEntity company = state.company;
|
||||
final localization = AppLocalization.of(context);
|
||||
final vendor = vendors.first as VendorEntity;
|
||||
final vendorIds = vendors.map((vendor) => vendor.id).toList();
|
||||
|
|
@ -296,7 +295,7 @@ void handleVendorAction(
|
|||
case EntityAction.newExpense:
|
||||
createEntity(
|
||||
context: context,
|
||||
entity: ExpenseEntity(company: company, vendor: vendor));
|
||||
entity: ExpenseEntity(state: state, vendor: vendor));
|
||||
break;
|
||||
case EntityAction.restore:
|
||||
store.dispatch(RestoreVendorRequest(
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ class _ClientViewState extends State<ClientView>
|
|||
createEntity(
|
||||
context: context,
|
||||
entity: InvoiceEntity(
|
||||
company: company, client: client));
|
||||
state: viewModel.state, client: client));
|
||||
},
|
||||
)
|
||||
: Container(),
|
||||
|
|
@ -96,7 +96,7 @@ class _ClientViewState extends State<ClientView>
|
|||
Navigator.of(context).pop();
|
||||
createEntity(
|
||||
context: context,
|
||||
entity: PaymentEntity(company: company)
|
||||
entity: PaymentEntity(state: store.state)
|
||||
.rebuild((b) => b.clientId = client.id));
|
||||
},
|
||||
)
|
||||
|
|
@ -112,7 +112,7 @@ class _ClientViewState extends State<ClientView>
|
|||
createEntity(
|
||||
context: context,
|
||||
entity: InvoiceEntity(
|
||||
company: company,
|
||||
state: viewModel.state,
|
||||
client: client,
|
||||
isQuote: true));
|
||||
},
|
||||
|
|
@ -143,9 +143,7 @@ class _ClientViewState extends State<ClientView>
|
|||
Navigator.of(context).pop();
|
||||
createEntity(
|
||||
context: context,
|
||||
entity: TaskEntity(
|
||||
isRunning:
|
||||
store.state.prefState.autoStartTasks)
|
||||
entity: TaskEntity(state: viewModel.state)
|
||||
.rebuild((b) => b.clientId = client.id));
|
||||
},
|
||||
)
|
||||
|
|
@ -161,9 +159,8 @@ class _ClientViewState extends State<ClientView>
|
|||
createEntity(
|
||||
context: context,
|
||||
entity: ExpenseEntity(
|
||||
company: company,
|
||||
client: client,
|
||||
prefState: store.state.prefState));
|
||||
state: store.state,
|
||||
client: client,));
|
||||
},
|
||||
)
|
||||
: Container(),
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ class ClientViewVM {
|
|||
createEntity(
|
||||
context: context,
|
||||
entity:
|
||||
InvoiceEntity(company: state.company, client: client));
|
||||
InvoiceEntity(state: state, client: client));
|
||||
} else {
|
||||
viewEntitiesByType(
|
||||
context: context,
|
||||
|
|
@ -101,7 +101,7 @@ class ClientViewVM {
|
|||
createEntity(
|
||||
context: context,
|
||||
entity: InvoiceEntity(
|
||||
company: state.company, client: client, isQuote: true));
|
||||
state: state, client: client, isQuote: true));
|
||||
} else {
|
||||
viewEntitiesByType(
|
||||
context: context,
|
||||
|
|
@ -113,7 +113,7 @@ class ClientViewVM {
|
|||
if (longPress && client.isActive) {
|
||||
createEntity(
|
||||
context: context,
|
||||
entity: PaymentEntity(company: state.company)
|
||||
entity: PaymentEntity(state: state)
|
||||
.rebuild((b) => b..clientId = client.id));
|
||||
} else {
|
||||
viewEntitiesByType(
|
||||
|
|
@ -139,7 +139,7 @@ class ClientViewVM {
|
|||
if (longPress && client.isActive) {
|
||||
createEntity(
|
||||
context: context,
|
||||
entity: TaskEntity(isRunning: state.prefState.autoStartTasks)
|
||||
entity: TaskEntity(state: state)
|
||||
.rebuild((b) => b..clientId = client.id));
|
||||
} else {
|
||||
viewEntitiesByType(
|
||||
|
|
@ -153,9 +153,8 @@ class ClientViewVM {
|
|||
createEntity(
|
||||
context: context,
|
||||
entity: ExpenseEntity(
|
||||
company: state.company,
|
||||
client: client,
|
||||
prefState: state.prefState));
|
||||
state: state,
|
||||
client: client,));
|
||||
} else {
|
||||
viewEntitiesByType(
|
||||
context: context,
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ class ProjectViewVM {
|
|||
if (longPress && project.isActive && client.isActive) {
|
||||
createEntity(
|
||||
context: context,
|
||||
entity: TaskEntity(isRunning: state.prefState.autoStartTasks)
|
||||
entity: TaskEntity(state: state)
|
||||
.rebuild((b) => b
|
||||
..projectId = project.id
|
||||
..clientId = project.clientId));
|
||||
|
|
@ -109,7 +109,7 @@ class ProjectViewVM {
|
|||
onAddTaskPressed: (context) {
|
||||
createEntity(
|
||||
context: context,
|
||||
entity: TaskEntity(isRunning: state.prefState.autoStartTasks)
|
||||
entity: TaskEntity(state: state)
|
||||
.rebuild((b) => b
|
||||
..projectId = project.id
|
||||
..clientId = project.clientId),
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ class UserViewVM {
|
|||
if (longPress && user.isActive) {
|
||||
createEntity(
|
||||
context: context,
|
||||
entity: InvoiceEntity(company: state.company));
|
||||
entity: InvoiceEntity(state: state));
|
||||
} else {
|
||||
viewEntitiesByType(
|
||||
context: context,
|
||||
|
|
@ -100,7 +100,7 @@ class UserViewVM {
|
|||
if (longPress && user.isActive) {
|
||||
createEntity(
|
||||
context: context,
|
||||
entity: InvoiceEntity(company: state.company, isQuote: true));
|
||||
entity: InvoiceEntity(state: state, isQuote: true));
|
||||
} else {
|
||||
viewEntitiesByType(
|
||||
context: context,
|
||||
|
|
@ -112,7 +112,7 @@ class UserViewVM {
|
|||
if (longPress && user.isActive) {
|
||||
createEntity(
|
||||
context: context,
|
||||
entity: PaymentEntity(company: state.company));
|
||||
entity: PaymentEntity(state: state));
|
||||
} else {
|
||||
viewEntitiesByType(
|
||||
context: context,
|
||||
|
|
@ -135,7 +135,7 @@ class UserViewVM {
|
|||
createEntity(
|
||||
context: context,
|
||||
entity:
|
||||
TaskEntity(isRunning: state.prefState.autoStartTasks));
|
||||
TaskEntity(state: state));
|
||||
} else {
|
||||
viewEntitiesByType(
|
||||
context: context,
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ class VendorViewVM {
|
|||
createEntity(
|
||||
context: context,
|
||||
entity:
|
||||
ExpenseEntity(company: state.company, vendor: vendor));
|
||||
ExpenseEntity(state: state, vendor: vendor));
|
||||
} else {
|
||||
viewEntitiesByType(
|
||||
context: context, entityType: EntityType.expense, filterEntity: vendor);
|
||||
|
|
@ -101,7 +101,7 @@ class VendorViewVM {
|
|||
onAddExpensePressed: (context) {
|
||||
createEntity(
|
||||
context: context,
|
||||
entity: ExpenseEntity(company: state.company, vendor: vendor));
|
||||
entity: ExpenseEntity(state: state, vendor: vendor));
|
||||
},
|
||||
onEntityAction: (BuildContext context, EntityAction action) =>
|
||||
handleVendorAction(context, [vendor], action),
|
||||
|
|
|
|||
Loading…
Reference in New Issue