public IEnumerable<Order> FindBy(Query query) { // Move to method below with Index and count IList<Order> orders = new List<Order>(); using (SqlConnection connection = new SqlConnection(_connectionString)) { SqlCommand command = connection.CreateCommand(); query.TranslateInto(command); connection.Open(); using (SqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { orders.Add(new Order { CustomerId = new Guid(reader["CustomerId"].ToString()), OrderDate = DateTime.Parse(reader["OrderDate"].ToString()), Id =int.Parse(reader["Id"].ToString()) }); } } } return orders; }
public static Query CreateRetrieveOrdersUsingAComplexQuery(Guid CustomerId) { IList<Criterion> criteria = new List<Criterion>(); Query query = new Query(QueryName.RetrieveOrdersUsingAComplexQuery, criteria); criteria.Add(new Criterion ("CustomerId", CustomerId, CriteriaOperator.NotApplicable)); return query; }
public IEnumerable<Order> FindAllCustomersOrdersWithInOrderDateBy(Guid customerId, DateTime orderDate) { IEnumerable<Order> customerOrders = new List<Order>(); Query query = new Query(); query.Add(new Criterion("CustomerId", customerId, CriteriaOperator.Equal)); query.QueryOperator = QueryOperator.And; query.Add(new Criterion("OrderDate", orderDate, CriteriaOperator.LessThanOrEqual)); query.OrderByProperty = new OrderByClause("OrderDate", true); customerOrders = _orderRepository.FindBy(query); return customerOrders; }
public IEnumerable<Order> FindAllCustomersOrdersBy(Guid customerId) { IEnumerable<Order> customerOrders = new List<Order>(); Query query = new Query(); //字符串 //query.Add(new Criterion("CustomerId", customerId, CriteriaOperator.Equal)); //Lambda query.Add(Criterion.Createe<Order>(o => o.CustomerId, customerId, CriteriaOperator.Equal)); query.OrderByProperty = new OrderByClause("CustomerId", true); customerOrders = _orderRepository.FindBy(query); return customerOrders; }
public IEnumerable<Order> FindBy(Query query, int index, int count) { throw new NotImplementedException(); }
private static string GetQueryOperator(Query query) { if (query.QueryOperator == QueryOperator.And) return "AND "; else return "OR "; }