public string ConfirmBooking(BookingSeat bookingSeat, User user)
        {
            if (bookingSeat.TripId > 0 && bookingSeat.Seats.Count > 0)
            {
                Trip trip = tripRepository.Get(bookingSeat.TripId);
                if (trip != null)
                {
                    if (trip.Timing > DateTime.Now)
                    {
                        foreach (string seat in bookingSeat.Seats)
                        {
                            if (this.GetAll().Where(b => b.TripId == trip.TripId && b.Seat == seat).ToList().Count > 0)
                            {
                                return("already booked");
                            }
                        }
                        foreach (string seat in bookingSeat.Seats)
                        {
                            Booking booking = new Booking();

                            booking.Seat        = seat;
                            booking.TripId      = trip.TripId;
                            booking.BookingTime = DateTime.Now;
                            booking.PassangerId = user.UserId;

                            this.Insert(booking);
                        }
                        return("success");
                    }
                    return("invalid request");
                }
                return("invalid request");
            }
            return("invalid request");
        }
        public string ConfirmReleasing(BookingSeat bookingSeat, Vendor vendor)
        {
            if (bookingSeat.TripId > 0 && bookingSeat.Seats.Count > 0)
            {
                Trip trip = tripRepository.Get(bookingSeat.TripId);
                if (trip != null && trip.Bus.VendorId == vendor.VendorId)
                {
                    if (trip.Timing > DateTime.Now)
                    {
                        foreach (string seat in bookingSeat.Seats)
                        {
                            Booking booking = this.GetAll().Where(b => b.Seat == seat && b.SeatStatus == "reserved").FirstOrDefault();

                            if (booking != null)
                            {
                                int bid = booking.BookingId;
                                this.Delete(bid);
                            }
                        }
                        return("success");
                    }
                    return("invalid request");
                }
                return("invalid request");
            }
            return("invalid request");
        }
        public IHttpActionResult PostReleaseSeat(BookingSeat bookingSeat)
        {
            var res = bookingRepository.ConfirmReleasing(bookingSeat, Request.Properties["vendor"] as Vendor);

            if (res == "invalid request")
            {
                return(StatusCode(HttpStatusCode.BadRequest));
            }
            else if (res == "already booked")
            {
                return(StatusCode(HttpStatusCode.Conflict));
            }
            else
            {
                return(Ok(bookingSeat));
            }
        }