public ActionResult UpdateCustomerBid(Auction.Model.Message.Auction auction)
        {
            LoginModelResponse customerinfo = (LoginModelResponse)Session["Customer"];

            if (customerinfo == null)
            {
                return(RedirectToActionPermanent("Index", "Login"));
            }

            AuctionResponse auctionResponse = new AuctionResponse();

            ViewBag.LoginSuccess = "True";
            auction.CustomerId   = customerinfo.CustomerId;
            if (!ModelState.IsValid)
            {
                TempData["Error"] = "Bid Price is required";
                return(RedirectToAction("MyBidDetail", new { auctionid = auction.AuctionId }));
            }
            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(ConfigurationManager.AppSettings["WebApiBaseUrl"]);
                //HTTP POST
                var responseMessageTask = client.PostAsJsonAsync <Auction.Model.Message.Auction>("api/Auction/UpdateBid", auction);
                responseMessageTask.Wait();
                var responseMessage = responseMessageTask.Result;
                if (responseMessage.IsSuccessStatusCode)
                {
                    var responseContentTask = responseMessage.Content.ReadAsAsync <AuctionResponse>();
                    responseContentTask.Wait();
                    auctionResponse = responseContentTask.Result;
                    if (auctionResponse.Error == null)
                    {
                        return(RedirectToActionPermanent("GetMyBids", "Auction"));
                    }
                    TempData["Error"] = auctionResponse.Error.Message;
                    return(RedirectToAction("MyBidDetail", new { auctionid = auction.AuctionId }));
                }
                else
                {
                    TempData["Error"] = "Server error";
                    return(RedirectToAction("MyBidDetail", new { auctionid = auction.AuctionId }));
                }
            }
        }
 public IHttpActionResult UpdateBid(Auction.Model.Message.Auction auction)
 {
     try
     {
         AuctionResponse auctionResponse = new AuctionResponse();
         if (!ModelState.IsValid)
         {
             auctionResponse.Error = new Error()
             {
                 Code = ErrorCodes.ModelStateInvalid, Message = "model state is not valid"
             };
             return(Ok(auctionResponse));
         }
         auctionResponse = CustomerAuction.UpdateCustomerBid(auction);
         return(Ok(auctionResponse));
     }
     catch (Exception ex)
     {
         return(Ok(ex.Message));
     }
 }
        public ActionResult MyBidDetail(int auctionid)
        {
            LoginModelResponse customerinfo = (LoginModelResponse)Session["Customer"];

            if (customerinfo == null)
            {
                return(RedirectToActionPermanent("Index", "Login"));
            }
            Auction.Model.Message.Auction userAuction = new Auction.Model.Message.Auction();
            ViewBag.LoginSuccess = "True";
            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(ConfigurationManager.AppSettings["WebApiBaseUrl"]);
                //HTTP GET
                var responseMessageTask = client.GetAsync("api/Auction/GetBid?auctionid=" + auctionid);
                responseMessageTask.Wait();
                var responseMessage = responseMessageTask.Result;
                if (responseMessage.IsSuccessStatusCode)
                {
                    var responseContentTask = responseMessage.Content.ReadAsAsync <Auction.Model.Message.Auction>();
                    responseContentTask.Wait();
                    userAuction     = responseContentTask.Result;
                    TempData["Bid"] = userAuction;

                    if (TempData["Error"] != null)
                    {
                        ModelState.AddModelError("", TempData["Error"].ToString());
                        TempData["Error"] = null;
                    }
                    return(View("CustomerBid", userAuction));
                }
                else //web api sent error response
                {
                    //log response status here..
                    return(View("MyBids", userAuction));
                }
            }
        }