-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(app): #15 created model and mappers
- Loading branch information
1 parent
bd418cc
commit 546a38d
Showing
22 changed files
with
678 additions
and
120 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
import 'package:equatable/equatable.dart'; | ||
import 'package:manzon/domain/entities/export_domain_entities.dart'; | ||
|
||
|
||
class CycleEntity extends Equatable { | ||
final String id; | ||
final int number; | ||
final int sequenceNumber; | ||
final String tontineId; | ||
final MemberEntity receiver; | ||
final DateTime startDate; | ||
final DateTime endDate; | ||
final bool isCompleted; | ||
final List<TontineContributionEntity> contributions; | ||
|
||
CycleEntity({ | ||
required this.id, | ||
required this.number, | ||
required this.sequenceNumber, | ||
required this.tontineId, | ||
required this.receiver, | ||
required this.startDate, | ||
required this.endDate, | ||
required this.isCompleted, | ||
required this.contributions, | ||
}); | ||
|
||
@override | ||
List<Object?> get props => [ | ||
id, | ||
number, | ||
sequenceNumber, | ||
tontineId, | ||
receiver, | ||
startDate, | ||
endDate, | ||
isCompleted, | ||
contributions | ||
]; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
import 'member_entity.dart'; | ||
import 'package:equatable/equatable.dart'; | ||
|
||
class TontineContributionEntity extends Equatable { | ||
final String id; | ||
final MemberEntity member; | ||
final double amount; | ||
final DateTime date; | ||
final String status; | ||
|
||
TontineContributionEntity({ | ||
required this.id, | ||
required this.member, | ||
required this.amount, | ||
required this.date, | ||
required this.status, | ||
}); | ||
|
||
@override | ||
List<Object?> get props => [id, member, amount, date, status]; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,41 +1,55 @@ | ||
import 'cycle_entity.dart'; | ||
import 'member_entity.dart'; | ||
import 'package:equatable/equatable.dart'; | ||
|
||
class TontineEntity extends Equatable { | ||
final String? uniqueId; | ||
final String id; | ||
final String name; | ||
final String associationId; | ||
final List<String> members; | ||
final double balance; | ||
final String contributionFrequency; | ||
final double contributionAmount; | ||
final String? contributionFrequency; | ||
final String? receiverFrequency; | ||
final List<MemberEntity>? members; | ||
final List<String>? membersId; | ||
final List<MemberEntity>? orderList; | ||
final List<CycleEntity>? cycles; | ||
final String associationId; | ||
final double? balance; | ||
final int cycleDuration; | ||
final List<String>? transactions; | ||
final int currentCycle; | ||
final List<String> transactions; | ||
|
||
TontineEntity({ | ||
this.uniqueId, | ||
TontineEntity( { | ||
required this.id, | ||
this.membersId, | ||
required this.name, | ||
required this.associationId, | ||
required this.members, | ||
required this.balance, | ||
required this.contributionFrequency, | ||
required this.contributionAmount, | ||
this.contributionFrequency, | ||
this.receiverFrequency, | ||
required this.members, | ||
this.orderList, | ||
this.cycles, | ||
required this.associationId, | ||
this.balance, | ||
required this.cycleDuration, | ||
this.transactions, | ||
required this.currentCycle, | ||
required this.transactions, | ||
}); | ||
|
||
@override | ||
List<Object?> get props => [ | ||
uniqueId, | ||
id, | ||
name, | ||
associationId, | ||
contributionAmount, | ||
contributionFrequency, | ||
receiverFrequency, | ||
members, | ||
membersId, | ||
orderList, | ||
cycles, | ||
associationId, | ||
balance, | ||
contributionFrequency, | ||
contributionAmount, | ||
cycleDuration, | ||
currentCycle, | ||
transactions, | ||
currentCycle, | ||
]; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
import 'package:manzon/domain/entities/cycle_entity.dart'; | ||
import 'package:manzon/infrastructure/models/cycle_model.dart'; | ||
import 'package:manzon/infrastructure/mappers/member_mapper.dart'; | ||
import 'package:manzon/infrastructure/mappers/tontine_contribution_mapper.dart'; | ||
|
||
class CycleMapper { | ||
static CycleModel toModel(CycleEntity entity) { | ||
return CycleModel( | ||
id: entity.id, | ||
number: entity.number, | ||
sequenceNumber: entity.sequenceNumber, | ||
tontineId: entity.tontineId, | ||
receiver: MemberMapper.toModel(entity.receiver), | ||
startDate: entity.startDate, | ||
endDate: entity.endDate, | ||
isCompleted: entity.isCompleted, | ||
contributions: entity.contributions.map((e) => TontineContributionMapper.toModel(e)).toList(), | ||
); | ||
} | ||
|
||
static CycleEntity toEntity(CycleModel model) { | ||
return CycleEntity( | ||
id: model.id, | ||
number: model.number, | ||
sequenceNumber: model.sequenceNumber, | ||
tontineId: model.tontineId, | ||
receiver: MemberMapper.toModel(model.receiver), | ||
startDate: model.startDate, | ||
endDate: model.endDate, | ||
isCompleted: model.isCompleted, | ||
contributions: model.contributions.map((e) => TontineContributionMapper.toModel(e)).toList(), | ||
); | ||
} | ||
} |
25 changes: 25 additions & 0 deletions
25
lib/infrastructure/mappers/tontine_contribution_mapper.dart
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
import 'package:manzon/infrastructure/mappers/member_mapper.dart'; | ||
import 'package:manzon/domain/entities/tontine_contribution_entity.dart'; | ||
import 'package:manzon/infrastructure/models/tontine_contribution_model.dart'; | ||
|
||
class TontineContributionMapper { | ||
static TontineContributionModel toModel(TontineContributionEntity entity) { | ||
return TontineContributionModel( | ||
id: entity.id, | ||
member: MemberMapper.toModel(entity.member), | ||
amount: entity.amount, | ||
date: entity.date, | ||
status: entity.status, | ||
); | ||
} | ||
|
||
static TontineContributionEntity toEntity(TontineContributionModel model) { | ||
return TontineContributionEntity( | ||
id: model.id, | ||
member: MemberMapper.toModel(model.member), | ||
amount: model.amount, | ||
date: model.date, | ||
status: model.status, | ||
); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,36 +1,44 @@ | ||
import '../../domain/entities/export_domain_entities.dart'; | ||
import 'package:manzon/infrastructure/models/export_infrastruture_models.dart'; | ||
|
||
|
||
import 'package:manzon/domain/entities/tontine_entity.dart'; | ||
import 'package:manzon/infrastructure/mappers/cycle_mapper.dart'; | ||
import 'package:manzon/infrastructure/models/tontine_model.dart'; | ||
import 'package:manzon/infrastructure/mappers/member_mapper.dart'; | ||
|
||
class TontineMapper { | ||
static TontineModel toModel(TontineEntity tontineEntity) { | ||
static TontineModel toModel(TontineEntity entity) { | ||
return TontineModel( | ||
uniqueId: tontineEntity.uniqueId, | ||
name: tontineEntity.name, | ||
associationId: tontineEntity.associationId, | ||
members: tontineEntity.members, | ||
balance: tontineEntity.balance, | ||
contributionFrequency: tontineEntity.contributionFrequency, | ||
contributionAmount: tontineEntity.contributionAmount, | ||
cycleDuration: tontineEntity.cycleDuration, | ||
currentCycle: tontineEntity.currentCycle, | ||
transactions: tontineEntity.transactions, | ||
id: entity.id, | ||
name: entity.name, | ||
contributionAmount: entity.contributionAmount, | ||
contributionFrequency: entity.contributionFrequency, | ||
receiverFrequency: entity.receiverFrequency, | ||
members: entity.members?.map((e) => MemberMapper.toModel(e)).toList(), | ||
membersId: entity.membersId, | ||
orderList: entity.orderList?.map((e) => MemberMapper.toModel(e)).toList(), | ||
cycles: entity.cycles?.map((e) => CycleMapper.toModel(e)).toList(), | ||
associationId: entity.associationId, | ||
balance: entity.balance, | ||
cycleDuration: entity.cycleDuration, | ||
transactions: entity.transactions, | ||
currentCycle: entity.currentCycle, | ||
); | ||
} | ||
|
||
static TontineEntity toEntity(TontineModel tontineModel) { | ||
static TontineEntity toEntity(TontineModel model) { | ||
return TontineEntity( | ||
uniqueId: tontineModel.uniqueId, | ||
name: tontineModel.name, | ||
associationId: tontineModel.associationId, | ||
members: tontineModel.members, | ||
balance: tontineModel.balance, | ||
contributionFrequency: tontineModel.contributionFrequency, | ||
contributionAmount: tontineModel.contributionAmount, | ||
cycleDuration: tontineModel.cycleDuration, | ||
currentCycle: tontineModel.currentCycle, | ||
transactions: tontineModel.transactions, | ||
id: model.id, | ||
name: model.name, | ||
contributionAmount: model.contributionAmount, | ||
contributionFrequency: model.contributionFrequency, | ||
receiverFrequency: model.receiverFrequency, | ||
members: model.members?.map((e) => MemberMapper.toModel(e)).toList(), | ||
membersId: model.membersId, | ||
orderList: model.orderList?.map((e) => MemberMapper.toModel(e)).toList(), | ||
cycles: model.cycles?.map((e) => CycleMapper.toModel(e)).toList(), | ||
associationId: model.associationId, | ||
balance: model.balance, | ||
cycleDuration: model.cycleDuration, | ||
transactions: model.transactions, | ||
currentCycle: model.currentCycle, | ||
); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.