public DataSet GetTripDetails(string FromStationId, string ToStationId, string TravelDate, string scheduleId) { try { TGTravelServiceClient o = new TGTravelServiceClient(); o.Open(); DataSet ds1 = new DataSet("dataset"); TripDetails TripDt = o.getTripDetailsV2(UserId, Password, FromStationId, ToStationId, TravelDate, scheduleId); DataTable dataTable = new DataTable(); dataTable.TableName = "BusLayoutList"; if (TripDt.status.message.ToString() == "success") { dataTable.Columns.Add("level"); dataTable.Columns.Add("noOfRows"); dataTable.Columns.Add("noOfColumns"); dataTable.Columns.Add("rowNbr"); dataTable.Columns.Add("columnNbr"); dataTable.Columns.Add("seatNbr"); dataTable.Columns.Add("cellType"); TripDetailsDTO dd = TripDt.tripDetails; foreach (BusLayoutDTO Bdt in dd.busLayoutList) { foreach (SeatDetailsDTO sdt in Bdt.seatDetailsList) { DataRow dr = dataTable.NewRow(); dr["level"] = Bdt.level; dr["noOfRows"] = Bdt.nbrOfRows; dr["noOfColumns"] = Bdt.nbrOfColumns; dr["rowNbr"] = sdt.rowNbr; dr["columnNbr"] = sdt.columnNbr; dr["seatNbr"] = sdt.seatNbr; dr["cellType"] = sdt.cellType; dataTable.Rows.Add(dr); } } DataTable dtseatdetails = new DataTable(); dtseatdetails.TableName = "SeatDetails"; dtseatdetails.Columns.Add("SeatseatNbr"); dtseatdetails.Columns.Add("seatType"); dtseatdetails.Columns.Add("fare"); dtseatdetails.Columns.Add("seatStatus"); foreach (SeatDetailDTO SDt in dd.seatDetailList) { DataRow drseat = dtseatdetails.NewRow(); drseat["SeatseatNbr"] = SDt.seatNbr; drseat["seatType"] = SDt.seatType; drseat["fare"] = SDt.fare; drseat["seatStatus"] = SDt.seatStatus; dtseatdetails.Rows.Add(drseat); } DataTable dtBoarding = new DataTable(); dtBoarding.TableName = "BoardingPoints"; dtBoarding.Columns.Add("boardingPointId"); dtBoarding.Columns.Add("boardingPointName"); dtBoarding.Columns.Add("time"); foreach (BoardingPointDTO BPdt in dd.boardingPointList) { DataRow drboarding = dtBoarding.NewRow(); drboarding["boardingPointId"] = BPdt.boardingPointId; drboarding["boardingPointName"] = BPdt.boardingPointName; drboarding["time"] = BPdt.time; dtBoarding.Rows.Add(drboarding); } ds1.Tables.Add(dtseatdetails); ds1.Tables.Add(dtBoarding); ds1.Tables.Add(dataTable); } o.Close(); return ds1; } catch (Exception ex) { throw ex; } }
/// <summary> /// Method for getting all the tripdetails of V2 /// </summary> /// <returns></returns> public SeatsInfo getTripDetailsV2(int sourceId, int destinationId, String dateOfJourney, String scheduleId, String URL, String ConsumerKey, String ConsumerSecret) { SeatsInfo objSeatsLayout = null; try { //Convert dd-mm-yyyy format to API compatible format dd/mm/yyyy dateOfJourney = dateOfJourney.Replace('-', '/'); client = new TGTravelServiceClient("TGSWS", URL); TripDetails response = client.getTripDetailsV2(ConsumerKey, ConsumerSecret, sourceId.ToString(), destinationId.ToString(), dateOfJourney, scheduleId); BoardingDroppingPoints bpList = new BoardingDroppingPoints(); if (response != null && response.tripDetails != null) { objSeatsLayout = new SeatsInfo(); objSeatsLayout.Seats = new List<SeatLayout>(); #region Loop each seat and add seat details to objSeatsLayout //.OrderByDescending(element => element.level) foreach (BusLayoutDTO busLayout in response.tripDetails.busLayoutList) { foreach (SeatDetailsDTO item in busLayout.seatDetailsList) { SeatLayout objSeat = new SeatLayout(); //set default values objSeat.length = 1; objSeat.width = 1; objSeat.zIndex = busLayout.level - 1; objSeat.row = item.columnNbr; objSeat.column = item.rowNbr; objSeat.id = scheduleId; objSeat.number = item.seatNbr; switch (item.cellType.ToUpper()) { case "AISLE": break; case "SEAT": objSeat.isAvailableSeat = "false"; break; case "BERTH": objSeat.isAvailableSeat = "false"; objSeat.length = 2; objSeat.width = 1; break; default: break; } //only available seats are fetched in response.tripDetails.seatDetailList SeatDetailDTO seatInfo = response.tripDetails.seatDetailList.SingleOrDefault(seat => seat.seatNbr == item.seatNbr); if (item.seatNbr != null && seatInfo != null) { objSeat.fare = seatInfo.fare; if (seatInfo.seatStatus.Equals("A") || seatInfo.seatStatus.Equals("F") || seatInfo.seatStatus.Equals("M")) { objSeat.isAvailableSeat = "true"; if (seatInfo.seatStatus.Equals("F")) objSeat.isLadiesSeat = "true"; } } objSeatsLayout.Seats.Add(objSeat); } } #endregion #region Loop all boarding and dropping points foreach (BoardingPointDTO point in response.tripDetails.boardingPointList) { bpList.Add(new BoardingDroppingDetails(point.boardingPointId, point.boardingPointName, point.time)); } #endregion if (bpList.Count > 0) objSeatsLayout.boardingTimes = bpList; } } catch (Exception) { // to do } return objSeatsLayout; }