Esempio n. 1
0
 public Task <IList <ITransactionType> > GetTransactionTypesAsync(ITransactionTypeFilter filter)
 {
     return(Task.Factory.StartNew <IList <ITransactionType> >(() =>
     {
         return GetTransactionTypes(filter);
     }));
 }
Esempio n. 2
0
        public IList <ITransactionType> GetTransactionTypes(ITransactionTypeFilter filter)
        {
            SqlQueryBuilder sqlQueryBuilder = new SqlQueryBuilder();

            sqlQueryBuilder.Select = " SELECT * ";
            sqlQueryBuilder.From   = " FROM [dbo].[TransactionType] ";
            if (filter.Id.HasValue)
            {
                sqlQueryBuilder.Where.Add(new SqlWhere()
                {
                    Where = "Id = @Id", Param = new SqlParameter("@Id", filter.Id.Value)
                });
            }
            if (filter.Income.HasValue)
            {
                sqlQueryBuilder.Where.Add(new SqlWhere()
                {
                    Where = "Income = @Income", Param = new SqlParameter("@Income", filter.Income.Value)
                });
            }
            if (!string.IsNullOrWhiteSpace(filter.Color))
            {
                sqlQueryBuilder.Where.Add(new SqlWhere()
                {
                    Where = "Color = @Color", Param = new SqlParameter("@Color", filter.Color)
                });
            }
            if (!string.IsNullOrWhiteSpace(filter.Name))
            {
                sqlQueryBuilder.Where.Add(new SqlWhere()
                {
                    Where = "Name = @Name", Param = new SqlParameter("@Name", filter.Name)
                });
            }
            var table        = SqlService.GetDataTable(sqlQueryBuilder);
            var myEnumerable = table.AsEnumerable();

            return((from item in myEnumerable select new TransactionType {
                Income = item.Field <bool>("Income"),
                Color = item.Field <string>("Color"),
                Name = item.Field <string>("Name"),
                Description = item.Field <string>("Description"),
                Id = item.Field <int>("Id")
            }).ToList <ITransactionType>());
        }