Exemple #1
0
        /// <summary>
        /// Requests product data.
        /// </summary>
        /// <param name="request">Product request message.</param>
        /// <returns>Product response message.</returns>
        public ProductResponse GetProducts(ProductRequest request)
        {
            var response = new ProductResponse(request.RequestId);

            // Validate client tag and access token
            if (!ValidRequest(request, response, Validate.ClientTag | Validate.AccessToken))
            {
                return(response);
            }

            var criteria = request.Criteria as ProductCriteria;

            if (request.LoadOptions.Contains("Categories"))
            {
                var categories = _categoryDao.GetCategories();
                response.Categories = Mapper.ToDataTransferObjects(categories);
            }

            if (request.LoadOptions.Contains("Products"))
            {
                var products = _productDao.GetProductsByCategory(criteria.CategoryId, criteria.SortExpression);
                response.Products = Mapper.ToDataTransferObjects(products);
            }

            if (request.LoadOptions.Contains("Product"))
            {
                var product = _productDao.GetProduct(criteria.ProductId);
                product.Category = _categoryDao.GetCategoryByProduct(criteria.ProductId);

                response.Product = Mapper.ToDataTransferObject(product);
            }

            if (request.LoadOptions.Contains("Search"))
            {
                var products = _productDao.SearchProducts(criteria.ProductName,
                                                          criteria.PriceFrom, criteria.PriceThru, criteria.SortExpression);

                response.Products = Mapper.ToDataTransferObjects(products);
            }
            return(response);
        }
 public Category GetCategoryByProduct(int productId)
 {
     return(categoryDao.GetCategoryByProduct(productId));
 }
 public Category GetCategoryByProduct(Product product)
 {
     return(categoryDao.GetCategoryByProduct(product));
 }
 public Category GetCategoryByProduct(string productName)
 {
     return(categoryDao.GetCategoryByProduct(productName));
 }