Exemple #1
0
        public async Task <AbstractAnswer <IEnumerable <Transaction> > > Handle(GetTransactionsCommand request, CancellationToken cancellationToken)
        {
            try
            {
                var founded = await context.Transactions
                              .Where(x => x.Bill.UserId == request.UserId)
                              .Include(x => x.Type)
                              .Select(x => mapper.Map <TransactionDB, Transaction>(x))
                              .ToListAsync(cancellationToken);

                return(CreateSuccess(founded));
            }
            catch
            {
                return(CreateFailed(new [] { "Database error" }));
            }
        }
Exemple #2
0
        public ReactiveHomeViewModel(IViewModelNavigationService navigationService, ITransactionService transactionService)
        {
            _navigationService  = navigationService;
            _transactionService = transactionService;

            IncomeCommand            = ReactiveCommand.Create(Income);
            OutcomeCommand           = ReactiveCommand.Create(Outcome);
            GetTransactionsCommand   = ReactiveCommand.CreateFromObservable <Unit, IEnumerable <TransactionModel> >(GetTransactions);
            GetCurrentBalanceCommand = ReactiveCommand.CreateFromObservable <Unit, decimal>(GetCurrentBalance);

            _transactions = GetTransactionsCommand
                            .Select(transactions => transactions.OrderByDescending(t => t.Date))
                            .Select(ToObservableCollection)
                            .Select(transactions => new ReadOnlyObservableCollection <TransactionModel>(transactions))
                            .ToProperty(this, m => m.Transactions);

            var currentBalanceObservable = GetCurrentBalanceCommand
                                           .Select(b => $"{b:C2}");

            _currentBalance = currentBalanceObservable
                              .ToProperty(this, m => m.CurrentBalance, string.Empty);

            _fullCurrentBalance = currentBalanceObservable
                                  .Select(s => $"Your balance is: {s}")
                                  .ToProperty(this, m => m.FullCurrentBalance, string.Empty);

            StateObservable
            .Where(state => state == ViewModelState.Appeared)
            .Select(s => Unit.Default)
            .InvokeCommand(GetCurrentBalanceCommand);

            StateObservable
            .Where(state => state == ViewModelState.Appeared)
            .Select(s => Unit.Default)
            .InvokeCommand(GetTransactionsCommand);
        }
Exemple #3
0
 public async Task <AbstractAnswer <IEnumerable <Transaction> > > GetTransactionsAsync(GetTransactionsCommand command)
 {
     return(await mediator.Send(command));
 }
Exemple #4
0
        public async Task <IEnumerable <Transaction> > Handle(GetTransactionsCommand request, CancellationToken cancellationToken)
        {
            IEnumerable <Entities.Transaction> transactions = await _transactionRepository.GetAllAsync();

            return(_mapper.Map <IEnumerable <Transaction> >(transactions));
        }