30 lines
931 B
C#
30 lines
931 B
C#
using CsharpOopSimplified2.Application;
|
|
using CsharpOopSimplified2.Domain;
|
|
using CsharpOopSimplified2.Infrastructure;
|
|
|
|
namespace CsharpOopSimplified2;
|
|
|
|
public class Program
|
|
{
|
|
public static void Main()
|
|
{
|
|
Console.WriteLine("[csharp-oop-simplified2] Starting withdraw money demo...");
|
|
|
|
var repository = new InMemoryAccountRepository();
|
|
|
|
var accountId = Guid.NewGuid();
|
|
Console.WriteLine(
|
|
$"[csharp-oop-simplified2] Seeding account {accountId} with opening balance 200.00"
|
|
);
|
|
repository.Save(new Account(accountId, new Money(200m)));
|
|
|
|
decimal amount = 100m;
|
|
Console.WriteLine(
|
|
$"[csharp-oop-simplified2] Executing withdrawal {amount:0.00} from account {accountId}"
|
|
);
|
|
AccountApplicationService.WithdrawMoney(repository, accountId, amount);
|
|
|
|
Console.WriteLine("[csharp-oop-simplified2] Demo completed.");
|
|
}
|
|
}
|