public Task <IList <ITransaction> > GetTransactionsAsync(ITransactionFilter filter) { return(Task.Factory.StartNew <IList <ITransaction> >(() => { return GetTransactions(filter); })); }
public FilterContainer( ITransactionFilter transactionFilter, ITransactionReceiptFilter transactionReceiptFilter, ITransactionAndReceiptFilter transactionAndReceiptFilter) : this(null, transactionFilter, transactionReceiptFilter, transactionAndReceiptFilter) { }
public void should_not_accept_any_transaction_when_using_reject_all_filter() { _filter = new RejectAllTransactionFilter(); var transactions = GetTransactions(); var addedTransactions = ApplyFilter(transactions); addedTransactions.Should().BeEmpty(); }
public void should_accept_any_transaction_when_using_accept_all_filter() { _filter = new AcceptAllTransactionFilter(); var transactions = GetTransactions(); var addedTransactions = ApplyFilter(transactions); addedTransactions.Length.Should().Be(transactions.Length); }
public void should_add_some_transactions_to_storage_when_using_accept_when_filter() { _filter = AcceptWhenTransactionFilter .Create() .Nonce(n => n >= 0) .GasPrice(p => p > 2 && p < 1500) .Build(); var transactions = GetTransactions(); var addedTransactions = ApplyFilter(transactions); addedTransactions.Should().NotBeEmpty(); }
public FilterContainer( IBlockFilter blockFilter = null, ITransactionFilter transactionFilter = null, ITransactionReceiptFilter transactionReceiptFilter = null, ITransactionAndReceiptFilter transactionAndReceiptFilter = null, ITransactionLogFilter transactionLogFilter = null) { if (blockFilter != null) { BlockFilters = new List <IBlockFilter>(1) { blockFilter };; } if (transactionFilter != null) { TransactionFilters = new List <ITransactionFilter>(1) { transactionFilter }; } if (transactionReceiptFilter != null) { TransactionReceiptFilters = new List <ITransactionReceiptFilter>(1) { transactionReceiptFilter }; } if (transactionAndReceiptFilter != null) { TransactionAndReceiptFilters = new List <ITransactionAndReceiptFilter>(1) { transactionAndReceiptFilter }; } if (transactionLogFilter != null) { TransactionLogFilters = new List <ITransactionLogFilter>(1) { transactionLogFilter }; } }
public IList <ITransaction> GetTransactions(ITransactionFilter filter) { SqlQueryBuilder sqlQueryBuilder = new SqlQueryBuilder(); sqlQueryBuilder.Select = " SELECT * "; sqlQueryBuilder.From = " FROM [dbo].[Transaction] "; if (filter.Id.HasValue) { sqlQueryBuilder.Where.Add(new SqlWhere() { Where = "Id = @Id", Param = new SqlParameter("@Id", filter.Id.Value) }); } if (filter.CustomerId.HasValue) { sqlQueryBuilder.Where.Add(new SqlWhere() { Where = "CustomerId = @CustomerId", Param = new SqlParameter("@CustomerId", filter.CustomerId.Value) }); } if (filter.TransactionTypeId.HasValue) { sqlQueryBuilder.Where.Add(new SqlWhere() { Where = "TransactionTypeId = @TransactionTypeId", Param = new SqlParameter("@TransactionTypeId", filter.TransactionTypeId.Value) }); } if (!string.IsNullOrWhiteSpace(filter.Name)) { sqlQueryBuilder.Where.Add(new SqlWhere() { Where = "Name = @Name", Param = new SqlParameter("@Name", filter.Name) }); } if (filter.Value.HasValue) { sqlQueryBuilder.Where.Add(new SqlWhere() { Where = "Value = @Value", Param = new SqlParameter("@Value", filter.Value.Value) }); } if (filter.ValueMin.HasValue) { sqlQueryBuilder.Where.Add(new SqlWhere() { Where = "Value >= @ValueMin", Param = new SqlParameter("@ValueMin", filter.ValueMin.Value) }); } if (filter.ValueMax.HasValue) { sqlQueryBuilder.Where.Add(new SqlWhere() { Where = "Value <= @ValueMax", Param = new SqlParameter("@ValueMax", filter.ValueMax.Value) }); } if (filter.Date.HasValue) { sqlQueryBuilder.Where.Add(new SqlWhere() { Where = "Date = @Date", Param = new SqlParameter("@Date", filter.Date.Value) }); } if (filter.DateMin.HasValue) { sqlQueryBuilder.Where.Add(new SqlWhere() { Where = "Date >= @DateMin", Param = new SqlParameter("@DateMin", filter.DateMin.Value) }); } if (filter.DateMax.HasValue) { sqlQueryBuilder.Where.Add(new SqlWhere() { Where = "Date <= @DateMax", Param = new SqlParameter("@DateMax", filter.DateMax.Value) }); } var table = SqlService.GetDataTable(sqlQueryBuilder); var myEnumerable = table.AsEnumerable(); var result = (from item in myEnumerable select new Transaction { Id = item.Field <int>("Id"), Name = item.Field <string>("Name"), Description = item.Field <string>("Description"), Value = item.Field <decimal>("Value"), TransactionTypeId = item.Field <int>("TransactionTypeId"), CustomerId = item.Field <int?>("CustomerId"), Date = item.Field <DateTime>("Date") }).ToList <ITransaction>(); var ttService = new TransactionTypeService(); var tts = ttService.GetTransactionTypes(); var cService = new CustomerService(); var cs = cService.GetCustomers(); foreach (var trans in result) { trans.TransactionType = tts.Where(tt => tt.Id == trans.TransactionTypeId).FirstOrDefault(); if (trans.CustomerId.HasValue) { trans.Customer = cs.Where(c => c.Id == trans.CustomerId.Value).FirstOrDefault(); } } return(result); }
public FilterContainer(ITransactionFilter transactionFilter) : this(null, transactionFilter) { }