public GetCustomersResponse GetCustomersByCriteria(GetCustomersRequest request) { GetCustomersResponse response = new GetCustomersResponse(); CustomerBusinessComponent bc = DependencyInjectionHelper.GetCustomerBusinessComponent(); IQueryable <Customer> customers = bc.GetCustomersByCriteria(request.SearchType, request.City, request.CustomerName); response.Customers = CustomerAdapter.CustomersToDtos(customers); return(response); }
public void TestCustomersToDtos() { Customer customer = new Customer() { CustomerId = 1, Name = "FakeUserName", FirstName = "FakeFirstName", Version = 0, Title = "Herr" }; Order order1 = new Order() { OrderId = 1, OrderStatus = OrderStatus.Draft }; Order order2 = new Order() { OrderId = 2, OrderStatus = OrderStatus.Ordered }; customer.Orders = new List <Order>() { order1, order2 }.AsQueryable(); Assert.AreEqual(true, customer.IsValid); IQueryable <Customer> customers = new List <Customer>() { customer }.AsQueryable(); IList <CustomerListDTO> customerDtos = CustomerAdapter.CustomersToDtos(customers); Assert.AreEqual <int>(1, customerDtos.Count()); CustomerListDTO dto = customerDtos.First(); Assert.AreEqual <int>(customer.CustomerId, dto.Id); Assert.AreEqual <string>(customer.Name, dto.Name); Assert.AreEqual <string>(customer.FirstName, dto.FirstName); Assert.AreEqual <int>(2, dto.NumberOfTotalOrders); Assert.AreEqual <int>(1, dto.NumberOfOpenOrders); Assert.AreEqual(true, dto.IsValid); }