public async Task <ActionResult> Index(int manufacturerId = 0) { if (manufacturerId <= 0) { return(new HttpStatusCodeResult(System.Net.HttpStatusCode.BadRequest, "Mandatory argument was not specified")); } var result = new ManufacturerProductsViewModel(); var manufacturerTask = _manufacturerClient.GetManufacturer(manufacturerId); var manufacturerProductsTask = _productClient.GetManufacturerProducts(manufacturerId); await Task.WhenAll(new[] { manufacturerTask, manufacturerProductsTask }); if (manufacturerTask.Result.IsSuccessStatusCode) { result.Manufacturer = await manufacturerTask.Result.Content.ReadAsAsync <ManufacturerViewModel>(); } else { ModelState.AddModelError(string.Empty, _genericErrorMessage); } if (manufacturerProductsTask.Result.IsSuccessStatusCode) { result.Products = (await manufacturerProductsTask.Result.Content.ReadAsAsync <IEnumerable <ProductViewModel> >()).OrderBy(_ => _.Name); } else { ModelState.AddModelError(string.Empty, _genericErrorMessage); } return(View(result)); }
public async Task <ActionResult> Update(int id = -1) { if (id < 0) { return(new HttpStatusCodeResult(System.Net.HttpStatusCode.BadRequest, "Mandatory argument was not specified")); } ManufacturerRequestViewModel request = null; var response = await _client.GetManufacturer(id); if (response.IsSuccessStatusCode) { request = await response.Content.ReadAsAsync <ManufacturerRequestViewModel>(); } else { ModelState.AddModelError(string.Empty, _genericErrorMessage); } return(View(request)); }