public void ShowAvailability(ReservationDetails reservationDetails) { var travelDate = reservationDetails.TravelDate; string url = string.Format("http://www.erail.in/Rail/getAvailability33_2.aspx?AVL=8^{0}^{1}^{2}^{3}^{4}^{5}^{6}^{7}^0", reservationDetails.TrainNumber, reservationDetails.From, reservationDetails.To, Regex.Match(reservationDetails.Class, @"\((\S+)\)").Groups[1].Value, quotas[reservationDetails.Quota], travelDate.Day.ToString(), travelDate.Month.ToString(), travelDate.Year.ToString()); browser.Status = "Fetching availability..."; browser.Navigate(url, new byte[] { }, ""); }
public void LoginAndBook(string username, string password, ReservationDetails reservationDetails) { this.reservationDetails = reservationDetails; state = State.LogginIn; browser.Status = "Logging In"; var url = "https://www.irctc.co.in/cgi-bin/bv60.dll/irctc/services/login.do"; var postData = string.Format("loginRadio=TT&password={0}&screen=home&button=Login&userName={1}", password, username); browser.Navigate(url, Encoding.UTF8.GetBytes(postData), mozillaUserAgent); }
private void TryLoadPersistedReservationDetails() { if (!File.Exists(filePath)) return; using (StreamReader reader = new StreamReader(filePath)) { XmlSerializer xs = new XmlSerializer(typeof(ReservationDetails)); rs = (ReservationDetails)xs.Deserialize(reader); } }
public void Book(ReservationDetails reservationDetails) { this.reservationDetails = reservationDetails; SendPlan(); }
private void Persist(ReservationDetails rs) { using (StreamWriter writer = new StreamWriter(filePath)) { XmlSerializer xs = new XmlSerializer(typeof(ReservationDetails)); xs.Serialize(writer, rs); } }