public static async Task <BaseModel> ExecuteLuisQuery(IConfiguration configuration, ILogger logger, ITurnContext turnContext, CancellationToken cancellationToken) { try { // Create the LUIS settings from configuration. var luisApplication = new LuisApplication( configuration["LuisAppId"], configuration["LuisAPIKey"], "https://" + configuration["LuisAPIHostName"] ); var recognizer = new LuisRecognizer(luisApplication); // The actual call to LUIS var recognizerResult = await recognizer.RecognizeAsync(turnContext, cancellationToken); var(intent, score) = recognizerResult.GetTopScoringIntent(); if (intent == "Book_flight") { //var bookingDetails = new BookingDetails(); //// We need to get the result from the LUIS JSON which at every level returns an array. //bookingDetails.Destination = recognizerResult.Entities["To"]?.FirstOrDefault()?["Airport"]?.FirstOrDefault()?.FirstOrDefault()?.ToString(); //bookingDetails.Origin = recognizerResult.Entities["From"]?.FirstOrDefault()?["Airport"]?.FirstOrDefault()?.FirstOrDefault()?.ToString(); //// This value will be a TIMEX. And we are only interested in a Date so grab the first result and drop the Time part. //// TIMEX is a format that represents DateTime expressions that include some ambiguity. e.g. missing a Year. //bookingDetails.TravelDate = recognizerResult.Entities["datetime"]?.FirstOrDefault()?["timex"]?.FirstOrDefault()?.ToString().Split('T')[0]; //return bookingDetails; var bookingDetailsModel = new BookingDetailsModel(); bookingDetailsModel.Intent = "Book_flight"; // We need to get the result from the LUIS JSON which at every level returns an array. bookingDetailsModel.Destination = recognizerResult.Entities["To"]?.FirstOrDefault()?["Airport"]?.FirstOrDefault()?.FirstOrDefault()?.ToString(); bookingDetailsModel.Origin = recognizerResult.Entities["From"]?.FirstOrDefault()?["Airport"]?.FirstOrDefault()?.FirstOrDefault()?.ToString(); // This value will be a TIMEX. And we are only interested in a Date so grab the first result and drop the Time part. // TIMEX is a format that represents DateTime expressions that include some ambiguity. e.g. missing a Year. bookingDetailsModel.TravelDate = recognizerResult.Entities["datetime"]?.FirstOrDefault()?["timex"]?.FirstOrDefault()?.ToString().Split('T')[0]; return(bookingDetailsModel); } else { return(new NoIntentModel() { Intent = intent }); } } catch (Exception e) { logger.LogWarning($"LUIS Exception: {e.Message} Check your LUIS configuration."); } return(null); }
public List <BookingDetailsModel> GetAllBookedDetails(string Username) { List <BookingDetailsModel> bookingDetails = new List <BookingDetailsModel>(); cmdFetchPassenger = new SqlCommand("proc_bookingdetails", conn); cmdFetchPassenger.Parameters.Add("@username", SqlDbType.VarChar, 20); cmdFetchPassenger.CommandType = CommandType.StoredProcedure; OpenConnection(); cmdFetchPassenger.Parameters[0].Value = Username; SqlDataReader drPass = cmdFetchPassenger.ExecuteReader(); BookingDetailsModel user = null; while (drPass.Read()) { user = new BookingDetailsModel(); user.Pnr = drPass[0].ToString(); user.TicketbookedOn = drPass[1].ToString(); user.Bookeddate = drPass[2].ToString(); user.Sid = drPass[3].ToString(); user.Desid = drPass[4].ToString(); user.Flightid = Convert.ToInt32(drPass[5]); user.Status = drPass[6].ToString(); bookingDetails.Add(user); } conn.Close(); return(bookingDetails); }
Guid IHotelManagementRepository.UpdateBookingInformation(BookingDetailsModel model) { var entity = new BookingDetails() { BookingDate = model.BookingDate, DepartureDate = model.DepartureDate, BookingRef = model.BookingRef, DateTime = DateTime.UtcNow, }; Context.BookingDetails.Add(entity); Context.SaveChanges(); return(entity.Id); }
public PartialViewResult getEmpBookingDetails(int id) { //get the selected venue booking object var booking = db.Venue_Booking.Where(v => v.Venue_Booking_Seq.Equals(id)).FirstOrDefault(); //get building name var buildingName = (from b in db.Buildings where b.Building_ID.Equals(booking.Building_ID) select b.Building_Name).FirstOrDefault(); //get campus name var campusName = (from c in db.Campus where c.Campus_ID.Equals(booking.Campus_ID) select c.Campus_Name).FirstOrDefault(); //get venue name var venueName = (from v in db.Venues where v.Venue_ID.Equals(booking.Venue_ID) select v.Venue_Name).FirstOrDefault(); //get person id var personID = (from p in db.Venue_Booking_Person where p.Venue_Booking_Seq.Equals(booking.Venue_Booking_Seq) select p.Person_ID).FirstOrDefault(); //get available booking status ViewBag.Booking_Status1 = new SelectList(db.Booking_Status, "Booking_Status1", "Booking_Status1"); //create an instance of the view model BookingDetailsModel a = new BookingDetailsModel { booking_seq = booking.Venue_Booking_Seq, person_id = personID, type = booking.Description, building = buildingName, campus = campusName, date = booking.DateTime_From.ToShortDateString(), timeslot = booking.DateTime_From.TimeOfDay + " - " + booking.DateTime_To.TimeOfDay, venue = venueName, }; //save booking details model to the session data Session["selectedBookingDetails"] = a; return(PartialView(a)); }
//Booking Details public bool UpdateBookingDetails(BookingSetupViewModel viewModel) { var bookingDetailsModel = new BookingDetailsModel() { BookingDate = viewModel.BookingDate, DepartureDate = viewModel.DepartureDate, BookingRef = viewModel.BookingRef, }; Repository.UpdateBookingInformation(bookingDetailsModel); //Rent Details var rentDetailsModel = new RentDetailsModel() { Totalrent = viewModel.Totalrent, Totalbond = viewModel.Totalbond, TotalPaid = viewModel.TotalPaid, Totalbalance = viewModel.Totalbalance, TotalGST = viewModel.TotalGST, }; Repository.UpdateRentInformation(rentDetailsModel); return(true); }