Skip to content
This repository was archived by the owner on Jun 27, 2020. It is now read-only.

Commit 1898059

Browse files
author
Evgenii Kanivets
committed
#153. Substitute NON currency in RecordController.
1 parent 9fb0339 commit 1898059

File tree

2 files changed

+32
-56
lines changed

2 files changed

+32
-56
lines changed

app/src/main/java/com/blogspot/e_kanivets/moneytracker/controller/data/RecordController.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import android.support.annotation.NonNull;
44
import android.support.annotation.Nullable;
55

6+
import com.blogspot.e_kanivets.moneytracker.controller.CurrencyController;
67
import com.blogspot.e_kanivets.moneytracker.repo.DbHelper;
78
import com.blogspot.e_kanivets.moneytracker.controller.base.BaseController;
89
import com.blogspot.e_kanivets.moneytracker.entity.data.Account;
@@ -23,14 +24,17 @@
2324
* @author Evgenii Kanivets
2425
*/
2526
public class RecordController extends BaseController<Record> {
27+
2628
private final CategoryController categoryController;
2729
private final AccountController accountController;
30+
private final CurrencyController currencyController;
2831

2932
public RecordController(IRepo<Record> recordRepo, CategoryController categoryController,
30-
AccountController accountController) {
33+
AccountController accountController, CurrencyController currencyController) {
3134
super(recordRepo);
3235
this.categoryController = categoryController;
3336
this.accountController = accountController;
37+
this.currencyController = currencyController;
3438
}
3539

3640
@Override @SuppressWarnings("SimplifiableIfStatement") public Record create(@Nullable Record record) {
@@ -104,9 +108,14 @@ record = validateRecord(record);
104108
Account account = null;
105109
if (record.getAccount() != null) account = accountController.read(record.getAccount().getId());
106110

111+
String currency = record.getCurrency();
112+
if (DbHelper.DEFAULT_ACCOUNT_CURRENCY.equals(currency)) {
113+
currency = currencyController.readNonSubstitutionCurrency();
114+
}
115+
107116
completedRecordList.add(
108117
new Record(record.getId(), record.getTime(), record.getType(), record.getTitle(), category,
109-
record.getPrice(), account, record.getCurrency(), record.getDecimals()));
118+
record.getPrice(), account, currency, record.getDecimals()));
110119
}
111120

112121
return completedRecordList;

app/src/main/java/com/blogspot/e_kanivets/moneytracker/di/module/ControllerModule.java

Lines changed: 21 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -33,102 +33,69 @@
3333
*
3434
* @author Evgenii Kanivets
3535
*/
36-
@Module
37-
public class ControllerModule {
36+
@Module public class ControllerModule {
3837
private Context context;
3938

4039
public ControllerModule(Context context) {
4140
this.context = context;
4241
}
4342

44-
@Provides
45-
@NonNull
46-
@Singleton
47-
public AccountController providesAccountController(IRepo<Account> accountRepo,
48-
PreferenceController preferenceController) {
43+
@Provides @NonNull @Singleton public AccountController providesAccountController(IRepo<Account> accountRepo,
44+
PreferenceController preferenceController) {
4945
return new AccountController(accountRepo, preferenceController);
5046
}
5147

52-
@Provides
53-
@NonNull
54-
@Singleton
55-
public CategoryController providesCategoryController(IRepo<Category> categoryRepo,
56-
PreferenceController preferenceController) {
48+
@Provides @NonNull @Singleton public CategoryController providesCategoryController(IRepo<Category> categoryRepo,
49+
PreferenceController preferenceController) {
5750
return new CategoryController(categoryRepo, preferenceController);
5851
}
5952

60-
@Provides
61-
@NonNull
62-
@Singleton
53+
@Provides @NonNull @Singleton
6354
public ExchangeRateController providesExchangeRateController(IRepo<ExchangeRate> exchangeRateRepo) {
6455
return new ExchangeRateController(exchangeRateRepo);
6556
}
6657

67-
@Provides
68-
@NonNull
69-
@Singleton
70-
public RecordController providesRecordController(IRepo<Record> recordRepo,
71-
CategoryController categoryController,
72-
AccountController accountController) {
73-
return new RecordController(recordRepo, categoryController, accountController);
58+
@Provides @NonNull @Singleton
59+
public RecordController providesRecordController(IRepo<Record> recordRepo, CategoryController categoryController,
60+
AccountController accountController, CurrencyController currencyController) {
61+
return new RecordController(recordRepo, categoryController, accountController, currencyController);
7462
}
7563

76-
@Provides
77-
@NonNull
78-
@Singleton
79-
public TransferController providesTransferController(IRepo<Transfer> transferRepo,
80-
AccountController accountController) {
64+
@Provides @NonNull @Singleton public TransferController providesTransferController(IRepo<Transfer> transferRepo,
65+
AccountController accountController) {
8166
return new TransferController(transferRepo, accountController);
8267
}
8368

84-
@Provides
85-
@NonNull
86-
@Singleton
69+
@Provides @NonNull @Singleton
8770
public CurrencyController providesCurrencyController(AccountController accountController,
88-
PreferenceController preferenceController) {
71+
PreferenceController preferenceController) {
8972
return new CurrencyController(accountController, preferenceController);
9073
}
9174

92-
@Provides
93-
@NonNull
94-
@Singleton
95-
public PreferenceController providesPreferenceController() {
75+
@Provides @NonNull @Singleton public PreferenceController providesPreferenceController() {
9676
return new PreferenceController(context);
9777
}
9878

99-
@Provides
100-
@NonNull
101-
@Singleton
79+
@Provides @NonNull @Singleton
10280
public PeriodController providesPeriodController(PreferenceController preferenceController) {
10381
return new PeriodController(preferenceController);
10482
}
10583

106-
@Provides
107-
@NonNull
108-
@Singleton
84+
@Provides @NonNull @Singleton
10985
public FormatController providesFormatController(PreferenceController preferenceController) {
11086
return new FormatController(preferenceController);
11187
}
11288

113-
@Provides
114-
@NonNull
115-
@Singleton
116-
public ExportController providesExportController(RecordController recordController,
117-
CategoryController categoryController) {
89+
@Provides @NonNull @Singleton public ExportController providesExportController(RecordController recordController,
90+
CategoryController categoryController) {
11891
return new ExportController(recordController, categoryController);
11992
}
12093

121-
@Provides
122-
@NonNull
123-
@Singleton
124-
public ImportController providesImportController(RecordController recordController) {
94+
@Provides @NonNull @Singleton public ImportController providesImportController(RecordController recordController) {
12595
return new ImportController(recordController);
12696
}
12797

128-
@Provides
129-
@NonNull
130-
@Singleton
131-
public BackupController providesBackupController(FormatController formatController) {
98+
@Provides @NonNull @Singleton public BackupController providesBackupController(FormatController formatController) {
13299
return new BackupController(formatController, context.getApplicationInfo().dataDir);
133100
}
134101
}

0 commit comments

Comments
 (0)