Esempio n. 1
0
        public async Task SaveTransactionsAsync(IEnumerable <Transactions.Model.Concrete.CurrencyTransaction> transactions)
        {
            var currenciesDict     = Currency.ToDictionary(d => d.Name);
            var statusesDict       = Status.ToDictionary(d => d.Id);
            var transactionsToSave = new List <CurrencyTransaction>();

            foreach (var currencyTransaction in transactions)
            {
                transactionsToSave.Add(Concrete.Model.CurrencyTransaction.Create(currencyTransaction.Id,
                                                                                 currencyTransaction.Amount,
                                                                                 currenciesDict[currencyTransaction.CurrencyCode].Id,
                                                                                 currencyTransaction.TransactionDateUtc,
                                                                                 (byte)currencyTransaction.Status,
                                                                                 currenciesDict[currencyTransaction.CurrencyCode],
                                                                                 statusesDict[(byte)currencyTransaction.Status]));
            }

            await CurrencyTransaction.AddRangeAsync(transactionsToSave);

            await SaveChangesAsync();
        }
Esempio n. 2
0
        public async Task <IEnumerable <Transactions.Model.Concrete.CurrencyTransaction> > GetByStatusAsync(CurrencyTransactionStatus status)
        {
            var items = await CurrencyTransaction.Include(c => c.Currency).Where(t => t.StatusId == (byte)status).ToListAsync();

            return(items.Select(t => t.ToDomainModel()).ToList());
        }
Esempio n. 3
0
        public async Task <IEnumerable <Transactions.Model.Concrete.CurrencyTransaction> > GetByCurrencyAsync(string currency)
        {
            var items = await CurrencyTransaction.Include(c => c.Currency).Where(t => t.Currency.Name == currency.ToUpper()).ToListAsync();

            return(items.Select(t => t.ToDomainModel()).ToList());
        }
Esempio n. 4
0
        public async Task <IEnumerable <Transactions.Model.Concrete.CurrencyTransaction> > GetByDateRangeAsync(DateTime fromUtc, DateTime toUtc)
        {
            var items = await CurrencyTransaction.Include(c => c.Currency).Where(t => fromUtc <= t.TimestampUtc && t.TimestampUtc <= toUtc).ToListAsync();

            return(items.Select(t => t.ToDomainModel()).ToList());
        }