Creation of a boilerplate to many projects utilizando Clean Arch
{
Valor: 0.01, //Maior que 0
Conta: "0000012345"
}
* se a conta da transferência não está nulo;
* se o valor da transferencia não está nulo;
* se o valor da transferência é maior que zero;
- Caso validado:
Será feito uma requisição para um site autorizador de transferencia
- Caso não autorizado:
Receberemos uma mensagem de erro na aplicação
- Caso Autorizado:
Será criado uma movimentação na base de dados com os seguintes valores:
sh Conta = Conta contida na requisição Valor = Valor contido na requisição Status = Pendente
- Caso não criado:
Será iniciada uma re-tentativa de criação
- Caso criado:
Será publicado o evento: "MovementCreated"
- Caso não publicado:
Será iniciada uma re-tentativa de publicação
- Caso publicado:
Receberemos um mensagem de conclusão do fluxo
- Caso não publicado:
- Caso não criado:
- Caso não autorizado:
{
Id: "",
Valor: 0.01, #Maior que 0
Conta: "0000012345",
Status: Pending
}
* se o id da transferência não está nulo;
* se a conta da transferência não está nulo;
* se a status da transferência não está nulo;
* se a status da transferência é um enum;
* se o valor da transferencia não está nulo;
* se o valor da transferência é maior que zero;
Caso validado: Será buscada a transferencia pelo id do evento Caso não encontrada Receberemos uma mensagem de erro na aplicação Caso encontrada Será alterada a movimentação encontrada na base de dados com os seguintes valores: Conta = Conta contida no evento Valor = Valor contido no evento Status = Created Caso não alterada: Será iniciada uma re-tentativa de alteração Caso alterada: Receberemos um mensagem de conclusão do fluxo
- Admin
- Manager
- Basic