static void Main(string[] args)
{
GetAsync().Wait();
PostRatesToHotelController();
}
static async Task GetAsync()
{
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("https://www.welcometorsi.net/roomkeyapi");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage response = await client.GetAsync("hotels/{hotelId}/reservations/guestprofile?Key={key}&fromDate=2014-09-09&toDate=2014-09-10");
if (response.IsSuccessStatusCode)
{
List<ReservationGuestProfile>guestProfiles = await response.Content.ReadAsAsync<List<reservationguestprofile>>();
foreach (var profile in guestprofiles)
{
console.writeline("{0}\t${1}\t{2}", profile.firstname, profile.lastname, profile.reservationdate);
}
}
}
}
private static httpresponsemessage postratestohotelcontroller()
{
using (var client = new HttpClient())
{
var testurl = "https://www.welcometorsi.net/roomkeyapi/hotels/{hotelId}/rates?key={key}" ;
var result = client.PostAsJsonAsync<RateRecommendation>(testURL,
new RateRecommendation
{
DateFrom = DateTime.Today,
DateTo = DateTime.Today.AddDays(1),
RateId = "1",
InventoryId = "1",
SingleRate = 1.11m,
DoubleRate = 2.22m,
TripleRate = 3.33m,
QuadrupleRate = 4.44m,
ExtraRate = 5.55m,
ExtraYouthRate = 6.66m
}
).Result;
}
return result;
}
Then add these two models to the project:
public class ReservationGuestProfile
{
private decimal _RoomRate;
private decimal _RoomRevenue;
private decimal _OtherRevenue;
private decimal _TotalRevenue;
private decimal _DepositPaid;
private decimal _Taxes;
private decimal _ResortFee;
public int FolioNumber { get; set; }
public string Title { get; set; }
public string FirstName { get; set; }
public string MiddleInitial { get; set; }
public string LastName { get; set; }
public string AddressLine1 { get; set; }
public string AddressLine2 { get; set; }
public string City { get; set; }
public string StateCode { get; set; }
public string CountryCode { get; set; }
public string ZipCode { get; set; }
public bool MailToFlag { get; set; }
public string EmailAddress { get; set; }
public string TelephoneNumber { get; set; }
public string VIPCode { get; set; }
public string CompanyName { get; set; }
public string CompanyEmailAddress { get; set; }
public string CompanyFaxNumber { get; set; }
public string PropertyCode { get; set; }
public string RoomNumber { get; set; }
public string RoomTypeCode { get; set; }
public string ArrivalDate { get; set; }
public string DepartureDate { get; set; }
public string TimeofCheckOut { get; set; }
public int NumberOfNights { get; set; }
public int NumberOfAdults { get; set; }
public int NumberOfChildren { get; set; }
public decimal RoomRate { get { return decimal.Round(_RoomRate, 2); } set { _RoomRate = value; } }
public string GuestType { get; set; }
public bool IsGuestTaxExempt { get; set; }
public string PaymentType { get; set; }
public decimal RoomRevenue { get { return decimal.Round(_RoomRevenue, 2); } set { _RoomRevenue = value; } }
public decimal OtherRevenue { get { return decimal.Round(_OtherRevenue, 2); } set { _OtherRevenue = value; } }
public decimal TotalRevenue { get { return decimal.Round(_TotalRevenue, 2); } set { _TotalRevenue = value; } }
public string ReservationDate { get; set; }
public string TravelAgent { get; set; }
public string TravelAgentFaxNumber { get; set; }
public string TravelAgentEmailAddress { get; set; }
public string Contact { get; set; }
public string ContactFaxNumber { get; set; }
public string ContactEmailAddress { get; set; }
public string BookingNumber { get; set; }
public string PackageCode { get; set; }
public string SourceOfBusiness { get; set; }
public string MarketingCode { get; set; }
public string PromoCode { get; set; }
public string Status { get; set; }
public string RecordType { get; set; }
public decimal DepositPaid { get { return decimal.Round(_DepositPaid, 2); } set { _DepositPaid = value; } }
public decimal Taxes { get { return decimal.Round(_Taxes, 2); } set { _Taxes = value; } }
public string LastUpdateDate { get; set; }
public string CentralReservationNumber { get; set; }
public string PreferredContactMethod { get; set; }
public string CompRate { get; set; }
public decimal ResortFee { get { return decimal.Round(_ResortFee, 2); } set { _ResortFee = value; } }
}
public class RateRecommendation
{
private decimal _singlePrice;
private decimal _doublePrice;
private decimal _triplePrice;
private decimal _quadruplePrice;
private decimal _extraPrice;
private decimal _extraYouthPrice;
public DateTime DateFrom { get; set; }
public DateTime DateTo { get; set; }
public string InventoryId { get; set; }
public string RateId { get; set; }
public bool ClosedToArrival { get; set; }
public int MinLengthOfStay { get; set; }
public decimal SingleRate { get { return decimal.Round(_singlePrice, 2); } set { _singlePrice = value; } }
public decimal DoubleRate { get { return decimal.Round(_doublePrice, 2); } set { _doublePrice = value; } }
public decimal TripleRate { get { return decimal.Round(_triplePrice, 2); } set { _triplePrice = value; } }
public decimal QuadrupleRate { get { return decimal.Round(_quadruplePrice, 2); } set { _quadruplePrice = value; } }
public decimal ExtraRate { get { return decimal.Round(_extraPrice, 2); } set { _extraPrice = value; } }
public decimal ExtraYouthRate { get { return decimal.Round(_extraYouthPrice, 2); } set { _extraYouthPrice = value; } }
}