public string FareDetail(JObject entities) { List <CustomFlightDetailModel> pricedItineraries = new EmptyBot().GetIteneraries(); string alcode = entities.GetValue("FlightNumber").FirstOrDefault().ToString().Substring(0, 2); string fn = entities.GetValue("FlightNumber").FirstOrDefault().ToString().Substring(2); var result = (from s in pricedItineraries where s.FlightNumber == fn select s).FirstOrDefault(); return("Total fare : " + result.FlightFare); }
public string GetFlightDetails(JObject entities) { List <CustomFlightDetailModel> pricedItineraries = new EmptyBot().GetIteneraries(); string alcode = entities.GetValue("FlightNumber").FirstOrDefault().ToString().Substring(0, 2); string fn = entities.GetValue("FlightNumber").FirstOrDefault().ToString().Substring(2); //FlightNumber StringBuilder Result = new StringBuilder("Showing flight details of : "); Result.Append(entities.GetValue("FlightNumber").FirstOrDefault().ToString()); var result = (from s in pricedItineraries where s.FlightNumber == fn select s).FirstOrDefault(); if (result != null) { //var sum = result.Duration; Result.Append(Environment.NewLine); Result.Append("From : "). Append(result.DepAirport). Append(Environment.NewLine) .Append("\nTo : ") .Append(result.ArrivalAirport) .Append(Environment.NewLine) .Append("\nArrival date : "). Append(result.ArrivalDate) .Append(Environment.NewLine) .Append("\nIntermediate Stops : ") .Append("\n" + result.InterMediateStops) .Append(Environment.NewLine) .Append("\nArrivalTime") .Append(result.ArrivalTime) .Append(Environment.NewLine) .Append("\nDeparture time : ") .Append(result.DepartureTime) .Append(Environment.NewLine) .Append("\n Duration : ") .Append(result.Duration + " minutes") //.Append("\n available seats : ") //.Append(z.SeatAvailable) .Append(Environment.NewLine) .Append("\n Baggage Allowance : ") .Append(result.Baggage) .Append(Environment.NewLine) .Append("\nTotal fare : " + result.Currency + " ") .Append(result.FlightFare); } return(Result.ToString()); }
public Attachment Customflights(JObject entities) { List <CustomFlightDetailModel> pricedItineraries = new EmptyBot().GetIteneraries(); if (entities.GetValue("Meridian") != null) { if (entities.GetValue("Meridian").FirstOrDefault().ToString().ToLower() == "morning") { pricedItineraries = (from itenarary in pricedItineraries where Convert.ToInt32(itenarary.DepartureTime.Remove(2, 1)) < 1200 select itenarary).Take(10).ToList(); } else if (entities.GetValue("Meridian").FirstOrDefault().ToString().ToLower() == "evening") { pricedItineraries = (from itenarary in pricedItineraries where Convert.ToInt32(itenarary.DepartureTime.Remove(2, 1)) > 1800 select itenarary).Take(10).ToList(); } else if (entities.GetValue("Meridian").FirstOrDefault().ToString().ToLower() == "afternoon") { pricedItineraries = (from itenarary in pricedItineraries where Convert.ToInt32(itenarary.DepartureTime.Remove(2, 1)) > 1200 && Convert.ToInt32(itenarary.DepartureTime.Remove(2, 1)) <= 1800 select itenarary).Take(10).ToList(); } return(new Attachment { ContentType = AdaptiveCard.ContentType, Content = AdaptiveCard.FromJson(GiveJson.GetJson(pricedItineraries)).Card }); } else { return(new Attachment { ContentType = AdaptiveCard.ContentType, Content = AdaptiveCard.FromJson(GiveJson.GetJson(pricedItineraries)).Card }); } }
public List <CustomFlightDetailModel> AvailableFlights(JObject entities) { string Result; string[] AirportCodes = new string[2]; // dynamic date1 = entities.GetValue("datetime") != null ? entities.GetValue("datetime") : "x"; DateTime date = DateTime.Today; string days = entities.GetValue("days") != null?entities.GetValue("days").FirstOrDefault().ToString() : ""; days = days != "" ? days.Substring(0, 1) : ""; if (entities.GetValue("datetime") != null) { foreach (var i in entities.GetValue("datetime")) { if (i["type"].ToString() == "date") { date = Convert.ToDateTime(i["timex"].First.ToString().Replace("XXXX", DateTime.Now.Year.ToString())); } else if (i["type"].ToString() == "duration") { days = i["timex"].First.ToString().Substring(1, 1); } } } else { date = DateTime.Today.AddDays(1); } date = date.Month < DateTime.Now.Month ? date.AddYears(1) : date; DateTime resdate = date; if (entities.GetValue("City") != null) { var AirportCityList = entities.GetValue("City"); int i = 0; foreach (var x in AirportCityList) { if (x.ToString().Length > 2) { AirportCodes[i] = ACode.GetAirPortCodeByCity(x.ToString()); i += 1; } } } else { Result = "0"; } meridian = entities.GetValue("Meridian") != null?entities.GetValue("Meridian").FirstOrDefault().ToString() : ""; if (entities.GetValue("AirportCode") != null) { var AirportCodeList = entities.GetValue("AirportCode"); int i = 0; foreach (var x in AirportCodeList) { if (x.ToString().Length > 2) { AirportCodes[i] = x.ToString(); i += 1; } } Result = "1"; } string q = entities.GetValue("quantity") != null?entities.GetValue("quantity").FirstOrDefault().ToString() : "1"; var myitem = new UtteranceLog(); myitem.query = new Query(); myitem.query.Dest = ACode.GetCityByAirPortCode(AirportCodes[1]); myitem.query.Origin = ACode.GetCityByAirPortCode(AirportCodes[0]); myitem.query.Quantity = Convert.ToInt32(q ?? "1"); IDictionary <string, object> changes = new Dictionary <string, object>(); { changes.Add(EmptyBot.DeviceId + "query", myitem); } System.Threading.CancellationToken s; EmptyBot._myStorage.WriteAsync(changes, s); //---------------------------------------------------------- // EmployeeModel em = new EmptyBot().GiveEmployee(); // new LoginIntent().Login(entities); EmployeeModel em = new EmptyBot().GiveEmployee(); string pref = new LoginIntent().TripHistory(em.CustId, AirportCodes[0], AirportCodes[1], em.TokenID); //pref = em.ALLOW_PREFERRED_FL.ToLower() == "false" ? "" : pref; string uniqueid = Guid.NewGuid().ToString(); // List<LexResponse.LexGenericAttachments> attachments = new List<LexResponse.LexGenericAttachments>(); List <SBT.Request.Response.PricedItinerary> iteneraries = ApiRes(resdate, days, q ?? "1", AirportCodes[0], AirportCodes[1], uniqueid, em.TokenID, "AI"); List <CustomFlightDetailModel> customFlights = new List <CustomFlightDetailModel>(); //session["iter"] = JsonConvert.SerializeObject(Result.Take(5)); int iGroup = 0; foreach (var iter in iteneraries) { //var z = iter.Flights.FirstOrDefault(); List <SBT.Request.Response.Flight> flights = iter.Flights; iGroup = iGroup + 1; int iSegment = 0; foreach (SBT.Request.Response.Flight z in flights) { iSegment++; customFlights.Add(new CustomFlightDetailModel { FlightNumber = z.FlightNumber, ArrivalAirport = z.ArrivalAirportName, DepAirport = z.DepartureAirportName, ArrivalDate = z.ArrivalDate,// DateTime.ParseExact(l.ArrivalDate, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture).ToShortDateString(), ArrivalTime = z.ArrivalTime.Insert(2, ":"), DepartureTime = z.DepartureTime.Insert(2, ":"), Currency = iter.PaxFares.CurrencyCode, FlightFare = Convert.ToDecimal(iter.TotalLowestFare), Baggage = z.Baggage, Duration = z.Duration, InterMediateStops = GetInterstops(iter), AirLineCode = z.AirlineCode, DepartureDate = z.DepartureDate, OLocCode = z.DepartureLocationCode, ALocCode = z.ArrivalLocationCode, Return = days, UniqueId = uniqueid, ImageUrl = z.AirlineLogo, Group = iGroup, Direction = z.DirectionInd, AirlineName = z.AirlineName, Layover = z.LayoverTime }); } } new PIT(customFlights.Take(20).ToList()); return(customFlights.Take(20).ToList()); }
public dynamic QueriResult(JObject entities, Query query, string DeviceId) { dynamic qresult = ""; // Query custom= new Query(); if (query != null) { var check = entities.GetValue("City") != null?entities.GetValue("City").FirstOrDefault().ToString() : ""; //|| entities.GetValue("City").FirstOrDefault().ToString()!=query.Origin query.Quantity = 1; if (query.Origin == null || (check != query.Origin && check != "")) { if (entities.GetValue("City") != null) { string x = ""; if (entities.GetValue("fromto") != null) { x = entities.GetValue("fromto").FirstOrDefault().ToString(); x = x.Length == 2 ? "to" : "from"; } if (x.ToString() == "from" || x.ToString() == "") { query.Origin = entities.GetValue("City").FirstOrDefault().ToString(); qresult = Mesg(query); } else { qresult = Mesg(query); } } } //|| entities.GetValue("City").LastOrDefault().ToString()!=query.Dest if (query.Dest == null || (check != query.Dest && check != "")) { if (entities.GetValue("City") != null) { dynamic x = ""; if (entities.GetValue("fromto") != null) { x = entities.GetValue("fromto").LastOrDefault().ToString(); } if ((x == "to" || x == "") && entities.GetValue("City").LastOrDefault().ToString() != query.Origin) { query.Dest = entities.GetValue("City").LastOrDefault().ToString(); qresult = Mesg(query); } } } if (query.Date == null) { if (entities.GetValue("datetime") != null) { dynamic date1 = entities.GetValue("datetime").FirstOrDefault(); query.Date = Convert.ToDateTime(date1["timex"].First.ToString().Replace("XXXX", DateTime.Now.Year.ToString())); query.Date = query.Date.GetValueOrDefault().Month < DateTime.Now.Month ? query.Date.GetValueOrDefault().AddYears(1) : query.Date; qresult = Mesg(query); } } if (query.Quantity == null) { if (entities.GetValue("quantity") != null) { query.Quantity = int.Parse(entities.GetValue("quantity").FirstOrDefault().ToString()); qresult = Mesg(query); } } } string days = entities.GetValue("days") != null?entities.GetValue("days").FirstOrDefault().ToString() : ""; days = days != "" ? days.Substring(0, 1) : ""; List <CustomFlightDetailModel> customFlights = new List <CustomFlightDetailModel>(); List <BirdResAWSBot.SBT.Request.Response.PricedItinerary> iteneraries = new List <BirdResAWSBot.SBT.Request.Response.PricedItinerary>(); string uniqueid = Guid.NewGuid().ToString(); if (query.Origin != null && query.Dest != null && query.Date != null && query.Quantity != null) { EmployeeModel em = new EmptyBot().GiveEmployee(); // List<LexResponse.LexGenericAttachments> attachments = new List<LexResponse.LexGenericAttachments>(); iteneraries = new Flight_Availability().ApiRes(query.Date.GetValueOrDefault(), days, query.Quantity.ToString(), ACode.GetAirPortCodeByCity(query.Origin), ACode.GetAirPortCodeByCity(query.Dest), uniqueid, em.TokenID, "AI"); // qresult = FlightsInfo.ApiRes(query.Date.GetValueOrDefault(), false, false, query.Quantity.ToString(), ACode.GetAirPortCodeByCity(query.Origin), ACode.GetAirPortCodeByCity(query.Dest)); int iGroup = 0; foreach (var iter in iteneraries) { //var z = iter.Flights.FirstOrDefault(); //var l = iter.Flights.LastOrDefault(); //customFlights.Add(new CustomFlightDetailModel //{ // FlightNumber = z.FlightNumber, // ArrivalAirport = z.ArrivalAirportName, // DepAirport = z.DepartureAirportName, // ArrivalDate = z.ArrivalDate,// DateTime.ParseExact(l.ArrivalDate, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture).ToShortDateString(), // ArrivalTime = z.ArrivalTime.Insert(2, ":"), // DepartureTime = z.DepartureTime.Insert(2, ":"), // Currency = "INR", // FlightFare = Convert.ToDecimal(iter.TotalLowestFare), // Baggage = z.Baggage, // Duration = z.Duration, // InterMediateStops = new Flight_Availability().GetInterstops(iter), // AirLineCode = z.AirlineCode, // DepartureDate = z.DepartureDate, // OLocCode = z.DepartureLocationCode, // ALocCode = z.ArrivalLocationCode, // Return = days, // UniqueId = uniqueid, // ImageUrl = z.AirlineLogo //}); List <BirdResAWSBot.SBT.Request.Response.Flight> flights = iter.Flights; iGroup = iGroup + 1; int iSegment = 0; foreach (BirdResAWSBot.SBT.Request.Response.Flight z in flights) { iSegment++; customFlights.Add(new CustomFlightDetailModel { FlightNumber = z.FlightNumber, ArrivalAirport = z.ArrivalAirportName, DepAirport = z.DepartureAirportName, ArrivalDate = z.ArrivalDate,// DateTime.ParseExact(l.ArrivalDate, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture).ToShortDateString(), ArrivalTime = z.ArrivalTime.Insert(2, ":"), DepartureTime = z.DepartureTime.Insert(2, ":"), Currency = iter.PaxFares.CurrencyCode, FlightFare = Convert.ToDecimal(iter.TotalLowestFare), Baggage = z.Baggage, Duration = z.Duration, InterMediateStops = new Flight_Availability().GetInterstops(iter), AirLineCode = z.AirlineCode, DepartureDate = z.DepartureDate, OLocCode = z.DepartureLocationCode, ALocCode = z.ArrivalLocationCode, Return = days, UniqueId = uniqueid, ImageUrl = z.AirlineLogo, Group = iGroup, Direction = z.DirectionInd, AirlineName = z.AirlineName, Layover = z.LayoverTime }); } } qresult = customFlights.Take(20).ToList(); query.Date = null; } new PIT(customFlights.Take(20).ToList()); var myitem = new UtteranceLog(); myitem.query = query; IDictionary <string, object> changes = new Dictionary <string, object>(); { changes.Add(DeviceId + "query", myitem); } System.Threading.CancellationToken s; EmptyBot._myStorage.WriteAsync(changes, s); return(qresult); }
public string Mail(JObject entities) { List <CustomFlightDetailModel> pricedItineraries = new EmptyBot().GetIteneraries(); string alcode = entities.GetValue("FlightNumber").FirstOrDefault().ToString().Substring(0, 2); string fn = entities.GetValue("FlightNumber").FirstOrDefault().ToString().Substring(2); //FlightNumber StringBuilder Result = new StringBuilder("flight Details of flight number : "); Result.Append(entities.GetValue("FlightNumber").FirstOrDefault().ToString()); var result = (from s in pricedItineraries where s.FlightNumber == fn select s).FirstOrDefault(); if (result != null) { //var sum = result.Duration; Result.Append(Environment.NewLine) .Append("\nFrom : ") .Append(result.DepAirport) .Append(Environment.NewLine) .Append("\nTo : ") .Append(result.ArrivalAirport) .Append(Environment.NewLine) .Append("\nArrival date : "). Append(result.ArrivalDate) .Append(Environment.NewLine) .Append("\nIntermediate Stops : ") .Append("\n" + result.InterMediateStops) .Append(Environment.NewLine) .Append("\nArrivalTime") .Append(result.ArrivalTime) .Append(Environment.NewLine) .Append("\nDeparture datetime : ") .Append(result.DepartureTime) .Append(Environment.NewLine) .Append("\n Duration : ") .Append(result.Duration + " minutes") //.Append("\n available seats : ") //.Append(z.SeatAvailable) .Append(Environment.NewLine) .Append("\n Baggage Allowance : ") .Append(result.Baggage + " KG") .Append(Environment.NewLine) .Append("\nTotal fare : " + result.Currency + " ") .Append(result.FlightFare); } MailMessage message = new MailMessage(); SmtpClient smtp = new SmtpClient(); message.From = new MailAddress("*****@*****.**"); message.To.Add(new MailAddress(entities.GetValue("email").FirstOrDefault().ToString())); message.Subject = "Flight Details"; message.IsBodyHtml = true; //to make message body as html message.Body = Result.ToString(); smtp.Port = 587; smtp.Host = "smtp.gmail.com"; //for gmail hostSparrow@123 smtp.EnableSsl = true; smtp.UseDefaultCredentials = false; smtp.Credentials = new NetworkCredential("*****@*****.**", "mukesh@328533"); smtp.DeliveryMethod = SmtpDeliveryMethod.Network; smtp.Send(message); return("Flight details mailed to you successfully"); }
public string BookFlight(JObject entities, string[] codes) { string Result = ""; SubmitResponse submitResponse; string x = ""; try { var bot = new EmptyBot(); List <CustomFlightDetailModel> detail = bot.GetIteneraries(); // new LoginIntent().Login(entities); List <CustomFlightDetailModel> iterlst = new List <CustomFlightDetailModel>(); EmployeeModel employee = bot.GiveEmployee(); if (entities.GetValue("FlightNumber") == null && codes.Length >= 1) { foreach (var c in codes) { string code = c.Remove(0, 3); iterlst.Add((from d in detail where d.FlightNumber == code select d).FirstOrDefault()); } } else { string alcode = entities.GetValue("FlightNumber").FirstOrDefault().ToString().Substring(0, 2); string fn = entities.GetValue("FlightNumber").FirstOrDefault().ToString().Substring(2); iterlst = (from d in detail where d.FlightNumber == fn select d).ToList(); } WebRequest request = WebRequest.Create("http://online-corporate-traveller.amadeus.com/live/V17_2_0/webapi/api/SBTMobile/SubmitFlightRequest"); request.Method = "POST"; request.ContentType = "application/json"; Stream dataStream = request.GetRequestStream(); // getJson(date, direct, type, quantity, origin, desti); // JObject abc = new SearchRequest().GetJson(); x = new BookingJsons().GetSubmitBookRequest(iterlst, employee.FirstName, employee.OffId, employee.CustId, employee.TokenID, employee.DeviceId); byte[] byteArray = Encoding.UTF8.GetBytes(x); request.ContentLength = byteArray.Length; dataStream.Write(byteArray, 0, byteArray.Length); dataStream.Close(); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); using (Stream receiveStream = Flight_Availability.GetStreamForResponse(response)) { StreamReader sr = new StreamReader(receiveStream); string responseFromServer = sr.ReadToEnd(); submitResponse = JsonConvert.DeserializeObject <SubmitResponse>(responseFromServer); if (employee.Approval_mail == "FALSE") { Result = GetBookResult(employee, iterlst.FirstOrDefault(), submitResponse.TripID); } else { //SendDetail("TripId : " + submitResponse.TripID, employee.Email); //return "Flight Details / Booking Details sent with tripid :" Result = "Flight Details/Booking Details sent with tripid : " + submitResponse.TripID + " successfully on " + employee.Email; // await _myStorage.DeleteAsync(new string[] { (DeviceId + "employee"), (DeviceId + "pricedIteneraries") },cancellationToken); } } dataStream.Close(); response.Close(); } catch (Exception ex) { // Result = ex.StackTrace + " " + x; } return(Result); }