public async Task<FormattedContentResult<HotelRequest>> Hello(LoginRequest request) { if (HttpContext.Current.Request.ContentType.Contains("json")) throw new Exception("No Json allowed, ContentType must be: text/xml"); HttpContext.Current.Response.AppendHeader("Access-Control-Allow-Origin", "*"); var response = new HotelRequest { Security = new Security { UserName = "******", Token = "A9-SDTES-NIC0-WR132-412422" }, City = "Stockholm", CheckInDate = DateTime.Now, CheckOutDate = DateTime.Now.AddDays(12), CustomerInfo = new CustomerInfo { NumberOfAdults = 2 } }; return Content(HttpStatusCode.OK, response, Configuration.Formatters.XmlFormatter); }
public async Task<FormattedContentResult<HotelResponse>> GetHotels(HotelRequest request) { if (HttpContext.Current.Request.ContentType.Contains("json")) throw new Exception("No Json allowed, ContentType must be: text/xml"); HttpContext.Current.Response.AppendHeader("Access-Control-Allow-Origin", "*"); HotelResponse response; try { if (request.Security.Token == null) { response = new HotelResponse { Status = new Status { Error = "Missing Token: You first have to login with your credentials (UserName: DiscoCat, Password: NinjaMoves)" } }; return Content(HttpStatusCode.OK, response, Configuration.Formatters.XmlFormatter); } if (request.Security.UserName != "DiscoCat" || request.Security.Token != "A9-SDTES-NIC0-WR132-412422") { response = new HotelResponse { Status = new Status { Error = "Illegal Token: You first have to login with your credentials (UserName: DiscoCat, Password: NinjaMoves)" } }; return Content(HttpStatusCode.OK, response, Configuration.Formatters.XmlFormatter); } response = new HotelResponse { Status = new Status { Success = true }, Hotels = new[] { new Hotel { Name = string.Format("{0} Hilton", request.City), NumberOfPeople = request.CustomerInfo.NumberOfAdults, }, new Hotel { Name = string.Format("Best Western {0}", request.City), NumberOfPeople = request.CustomerInfo.NumberOfAdults, }, new Hotel { Name = string.Format("{0} Marriott Hotel", request.City), NumberOfPeople = request.CustomerInfo.NumberOfAdults, } } }; return Content(HttpStatusCode.OK, response, Configuration.Formatters.XmlFormatter); } catch (Exception ex) { response = new HotelResponse { Status = new Status { Error = "Something went terribly wrong!" } }; return Content(HttpStatusCode.OK, response, Configuration.Formatters.XmlFormatter); } }