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(); }
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()); }
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()); }
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()); }