Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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));
        }
Example #5
0
        //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);
        }