// GET: Register public ActionResult Index() { LoginModelResponse customerinfo = (LoginModelResponse)Session["Customer"]; if (customerinfo != null) { return(RedirectToActionPermanent("Index", "Product")); } PaymentMethodTypes paymentTypes = new PaymentMethodTypes(); using (var client = new HttpClient()) { client.BaseAddress = new Uri(ConfigurationManager.AppSettings["WebApiBaseUrl"]); //HTTP GET var responseMessageTask = client.GetAsync("api/Register"); responseMessageTask.Wait(); var responseMessage = responseMessageTask.Result; if (responseMessage.IsSuccessStatusCode) { var responseContentTask = responseMessage.Content.ReadAsAsync <PaymentMethodTypes>(); responseContentTask.Wait(); paymentTypes = responseContentTask.Result; TempData["PaymentMethodOptions"] = paymentTypes.PaymentMethodOptions; TempData.Keep(); return(View()); } else //web api sent error response { //log response status here.. ModelState.AddModelError(string.Empty, "Server error. Please contact administrator."); return(View()); } } }
public IHttpActionResult Register() { PaymentMethodTypes paymentMethodTypesResponse = new PaymentMethodTypes(); var paymentMethods = CustomerRegistration.GetPaymentMethodOptions(); if (paymentMethods.Count == 0) { paymentMethodTypesResponse.Fault = new Auction.Model.Data.Error { Code = ErrorCodes.NoPaymentOptions, Message = "There are no payment options" } } ; else { paymentMethodTypesResponse.PaymentMethodOptions = paymentMethods; } return(Ok(paymentMethodTypesResponse)); }