Ejemplo n.º 1
0
        public async Task <IActionResult> Index()
        {
            return(await Task.Run(() => {
                var delayedResponse = _productService.DoGetProducts();
                delayedResponse.Wait();
                DoGetProductsResponse doGetProductsResponse = delayedResponse.Result;
                IEnumerable <ProductModel> products = doGetProductsResponse.Products;

                var productsListViewModel =
                    doGetProductsResponse.IsSuccess ?
                    new ProductsListViewModel(products) :
                    new ProductsListViewModel(doGetProductsResponse.Message);
                return View(productsListViewModel);
            }));
        }
Ejemplo n.º 2
0
        public Task <DoGetProductsResponse> DoGetProducts(DoGetProductsRequest request = null)
        {
            // TODO: Get paging & filter info from request, and apply them as filter's params.
            return(Task.Run(() => {
                DoGetProductsResponse response = new DoGetProductsResponse();

                IEnumerable <ProductModel> products = _productRepo.FindAll();
                if ((products != null) && (products.Count() > 0))
                {
                    response.IsSuccess = true;
                    response.Message = "Success!";
                    response.Products = products;
                }
                else
                {
                    response.Message = "Products are not available.";
                    response.Products = new ProductModel[0];
                }

                return response;
            }));
        }