public Order Post([FromBody] Order order) { if (order == null) { return(null); } // Call ProductApi to get the food ordered RestClient c = new RestClient(); //desktop-661danr c.BaseUrl = new Uri("http://desktop-661danr:19081/SFCinema/TicketsApi/api/tickets/getbytitle"); var requestTicket = new RestRequest(order.Movie.ToString(), Method.GET); var responseTicket = c.Execute <Ticket>(requestTicket); var orderedTicket = responseTicket.Data; if (order.TicketQuantity <= orderedTicket.TicketsLeft) { orderedTicket.TicketsLeft = orderedTicket.TicketsLeft - order.TicketQuantity; c.BaseUrl = new Uri("http://desktop-661danr:19081/SFCinema/TicketsApi/api/tickets"); var updateTicketRequest = new RestRequest("", Method.PUT); updateTicketRequest.AddJsonBody(orderedTicket); var updateTicketResponse = c.Execute(updateTicketRequest); if (updateTicketResponse.IsSuccessful) { order.Price = order.TicketQuantity * orderedTicket.Price; c.BaseUrl = new Uri("http://desktop-661danr:19081/SFCinema/FoodApi/api/food/getbyname"); var requestFood = new RestRequest(order.Food.ToString(), Method.GET); var responseFood = c.Execute <Food>(requestFood); var orderedFood = responseFood.Data; if (order.FoodQuantity <= orderedFood.AmountLeft) { orderedFood.AmountLeft = orderedFood.AmountLeft - order.FoodQuantity; c.BaseUrl = new Uri("http://desktop-661danr:19081/SFCinema/FoodApi/api/food"); var updateFoodRequest = new RestRequest("", Method.PUT); updateFoodRequest.AddJsonBody(orderedFood); var updateFoodResponse = c.Execute(updateFoodRequest); if (updateFoodResponse.IsSuccessful) { order.Price = order.Price + order.FoodQuantity * orderedFood.Price; return(_repo.Add(order)); } } return(_repo.Add(order)); } } return(null); }
public Cinema Add(Cinema cinema) { return(_cinemaRepository.Add(cinema)); }