public object Get(FindLicenses request) { var query = documentSession.Query <License_ByProductOrCustomer.Result, License_ByProductOrCustomer>() .Include <License_ByProductOrCustomer.Result, Customer>(license => license.CustomerId) .Include <License_ByProductOrCustomer.Result, Product>(license => license.ProductId); //if (request.LicenseType.HasValue) // query = query.Where(lic => lic.LicenseType.Is(request.LicenseType.Value)); if (request.CustomerId.HasValue) { query = query.Where(lic => lic.CustomerId == request.CustomerId.Value); } if (request.ProductId.HasValue) { query = query.Where(lic => lic.ProductId == request.ProductId.Value); } var licenses = query .OfType <Model.License>() .ToList(); var result = new List <LicenseDto>(licenses.Count); result.AddRange( licenses.Select( license => new LicenseDto { Customer = documentSession.Load <Customer>(license.CustomerId), Product = new ProductDto().PopulateWith(documentSession.Load <Product>(license.ProductId)) }.PopulateWith(license))); return(result); }
public object Get(FindLicenses request) { var query = documentSession.Query<License_ByProductOrCustomer.Result, License_ByProductOrCustomer>() .Include<License_ByProductOrCustomer.Result, Customer>(license => license.CustomerId) .Include<License_ByProductOrCustomer.Result, Product>(license => license.ProductId); //if (request.LicenseType.HasValue) // query = query.Where(lic => lic.LicenseType.Is(request.LicenseType.Value)); if (request.CustomerId.HasValue) query = query.Where(lic => lic.CustomerId == request.CustomerId.Value); if (request.ProductId.HasValue) query = query.Where(lic => lic.ProductId == request.ProductId.Value); var licenses = query .OfType<Model.License>() .ToList(); var result = new List<LicenseDto>(licenses.Count); result.AddRange( licenses.Select( license => new LicenseDto { Customer = documentSession.Load<Customer>(license.CustomerId), Product = new ProductDto().PopulateWith(documentSession.Load<Product>(license.ProductId)) }.PopulateWith(license))); return result; }