/* * [HttpGet] * public ActionResult AddTrip() * { * * * return View(); * } * * [HttpPost] * public ActionResult AddTrip(UserBooking ur) * { * ur.books.trips.StartDate = ur.books.trips.StartDate; * DateTime sd = ur.books.trips.StartDate.Value; * sd = sd.AddDays(1); * DateTime ed = sd; * ur.books.trips.EndDate = ed; * * // ViewBag.date1 = sd.ToString(); * * ViewBag.date = ed.ToString(); * * * ur.books.trips.Lines_Id = 1; * ur.books.trips.Dayes_Id = 1; * * db.trip.Add(ur.books.trips); * db.SaveChanges(); * * return View(ur); * } */ //Add New Booking : #region public ActionResult New() { info = Session["userData"] as User; if (info != null) { if (info.user_types_id == 2) { var buses = db.buses.ToList(); var payTypes = db.payment_Type.ToList(); var linesDb = db.lines.ToList(); var tripsDb = db.trip.ToList(); UserBooking ub = new UserBooking { payment_Types = payTypes, lines = linesDb, buses = buses, trips = tripsDb }; return(View(ub)); } else { return(RedirectToAction("page_error_400", "Dashboard")); } } else { return(RedirectToAction("page_error_400", "Dashboard")); } }
public async Task <IActionResult> GetBooking([FromRoute] int userid) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var bookings = _context.Booking.Where(x => x.UserID == userid).ToList(); List <UserBooking> userbooking = new List <UserBooking>(); foreach (var booking in bookings) { var r = _context.Room.Where(x => x.ID == booking.RoomID).FirstOrDefault(); UserBooking ub = new UserBooking(); ub.Room = r; ub.CheckinDate = booking.StartDate; ub.CheckoutDate = booking.EndDate; ub.BookingID = booking.ID; userbooking.Add(ub); } if (userbooking == null) { return(NotFound()); } return(Ok(userbooking)); }
public ActionResult BookTable(UserBooking booking) { try { CustomJsonResult result = new CustomJsonResult(); UserBooking userBooking = db.UserBookings.Find(booking.Id); if (userBooking == null) { db.UserBookings.Add(booking); db.SaveChanges(); result.Data = new { Result = true, UserBooking = booking }; } else { result.Data = new { Result = false }; } return(result); } catch (Exception ex) { throw ex; } }
public ActionResult BookDetailsNewTry(int?id) { User info; info = Session["userData"] as User; if (info != null) { if (info.user_types_id == 2) { var bookingDb = db.booking.SingleOrDefault(x => x.BokkingID == id); UserBooking ub = new UserBooking(); Booking b = new Booking(); var busDetail = db.buses.Where(m => m.BusID == bookingDb.Bus_Id).SingleOrDefault(); b.chosenChairs = bookingDb.chosenChairs; b.Buses.DriverName = bookingDb.Buses.DriverName; return(View(b)); } else { return(RedirectToAction("page_error_400", "Dashboard")); } } else { return(RedirectToAction("page_error_400", "Dashboard")); } }
public ActionResult EditBook(int?id) { info = Session["userData"] as User; if (info != null) { if (info.user_types_id == 2) { var bookingDb = db.booking.SingleOrDefault(x => x.BokkingID == id); var payTypesDb = db.payment_Type.ToList(); var linesDb = db.lines.ToList(); var busesDb = db.buses.ToList(); var TripStart = db.trip.ToList(); UserBooking ub = new UserBooking { payment_Types = payTypesDb, lines = linesDb, books = bookingDb, buses = busesDb, trips = TripStart }; return(View(ub)); } else { return(RedirectToAction("page_error_400", "Dashboard")); } } else { return(RedirectToAction("page_error_400", "Dashboard")); } }
public async Task <IActionResult> Create([Bind("BoatId,StartDateTime,EndDateTime,AllocatedHours,NonMemberCrews,Itinerary")] Booking booking, string[] memberCrews) { if (memberCrews != null) { booking.UserBookings = new List <UserBooking>(); } foreach (var user in memberCrews) { var BookingToAdd = new UserBooking { BookingId = booking.BookingId, UserId = user }; booking.UserBookings.Add(BookingToAdd); } if (ModelState.IsValid) { var user = await _userManager.GetUserAsync(User); booking.UserId = user.Id; _context.Add(booking); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } PopulateBookingUserData(booking); ViewData["Boats"] = new SelectList(_context.Boats, "BoatId", "BoatName", booking.BoatId); return(View(booking)); }
public UserBookingDTO MapToUserBookingDTO(UserBooking userBooking) { return(new UserBookingDTO { Id_Booking = userBooking.Id_Booking, is_Driver = userBooking.is_Driver, is_Going = userBooking.is_Going }); }
//[Authorize(Policy = "RequireLogin", AuthenticationSchemes = OAuthValidationDefaults.AuthenticationScheme)] public async Task <IActionResult> PostBooking([FromBody] BookingViewModel bookingModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var errors = BookingRules(bookingModel).Result; if (!string.IsNullOrEmpty(errors)) { return(BadRequest(errors)); } var allocatedHours = AllocatedHoursCalculator.CalculateAllocatedHours(bookingModel.StartDateTime, bookingModel.EndDateTime); var booking = new Booking { BoatId = bookingModel.BoatId, StartDateTime = bookingModel.StartDateTime, EndDateTime = bookingModel.EndDateTime, NonMemberCrews = bookingModel.NonMemberCrews, Itinerary = bookingModel.NonMemberCrews, AllocatedHours = allocatedHours, UserId = bookingModel.UserId }; booking.UserBookings = new List <UserBooking>(); foreach (var member in bookingModel.MemberCrews) { var user = await _userManager.FindByIdAsync(member.UserId); user.CreditBalance -= member.UsedCredit; _context.Entry(user).State = EntityState.Modified; await _context.SaveChangesAsync(); var BookingToAdd = new UserBooking { BookingId = booking.BookingId, UserId = member.UserId, UsedCredit = member.UsedCredit }; booking.UserBookings.Add(BookingToAdd); } _context.Bookings.Add(booking); await _context.SaveChangesAsync(); return(Ok(bookingModel)); }
public ActionResult UpdateUserBookingActive(int userBookingId, bool isActive) { CustomJsonResult result = new CustomJsonResult(); UserBooking userBooking = db.UserBookings.Find(userBookingId); if (userBooking != null) { userBooking.IsActive = isActive; db.SaveChanges(); result.Data = userBooking; } return(result); }
public async Task <int> CreateBooking(Booking booking, string userId) { using var connection = new SqlConnection(_configuration.GetConnectionString("MEMA")); var identety = await connection.InsertAsync(booking); var userBooking = new UserBooking { BookingId = booking.BookingId, UserId = userId, }; await connection.InsertAsync(userBooking); return(identety); }
public ActionResult GetModel() { try { CustomJsonResult result = new CustomJsonResult(); // Call action here... User user = new User(); user.UserBookings = new List <UserBooking>(); user.UserFavoriteRestaurnats = new List <UserFavoriteRestaurnat>(); user.UserRestaurnatReviews = new List <UserRestaurnatReview>(); var cuisines = db.Cuisines.ToList(); var styles = db.Styles.ToList(); var amenities = db.Amenities.ToList(); var paymentMethods = db.PaymentMethods.ToList(); var ambience = db.Ambiences.ToList(); var restaurantNames = db.Restaurants.Select(r => new { r.Id, r.RestaurantName }).ToList(); var searchRestaurant = new SearchRestaurant(); searchRestaurant.Search = new List <OptGroupList>(); var userBooking = new UserBooking(); result.Data = new { User = user, CuisinesList = cuisines, AmenitiesList = amenities, PaymentMethodsList = paymentMethods, AmbiencesList = ambience, StylesList = styles, RestaurantNamesList = restaurantNames, SearchRestaurant = searchRestaurant, UserBooking = userBooking }; //result.Data = restaurant; return(result); } catch (Exception ex) { throw ex; } }
public UserBooking getBooking(bookingContext _bookingContext, string userName) { Console.WriteLine(userName); if (userName != null && _bookingContext.Bookings != null) { User bookUs = _bookingContext.Users.FirstOrDefault(u => u.Login == userName); var book = _bookingContext.Bookings.Where(u => u.Userid == bookUs.Id).ToList(); if (book.Count == 0) { return(new UserBooking(bookUs, null, null, null)); } var rooms = _bookingContext.Rooms.Where(u => u.Id == book[0].Idofroom).ToList(); for (int i = 1; i < book.Count; i++) { rooms.Add(_bookingContext.Rooms.FirstOrDefault(u => u.Id == book[i].Idofroom)); } if (rooms.Count == 0) { return(new UserBooking(bookUs, null, null, null)); } var hotels = _bookingContext.Hotels.Where(u => u.Id == rooms[0].HId).ToList(); for (int i = 1; i < rooms.Count; i++) { hotels.Add(_bookingContext.Hotels.FirstOrDefault(u => u.Id == rooms[i].HId)); } if (hotels == null) { return(new UserBooking(bookUs, rooms, null, null)); } var bookings = _bookingContext.Bookings.Where(u => u.Userid == bookUs.Id).ToList(); Console.WriteLine(_bookingContext.Users.FirstOrDefault(u => u.Login == userName).Name); UserBooking ub = new UserBooking(bookUs, rooms, hotels, bookings); return(ub); } return(null); }
public ActionResult CheckIfTableIsBook(UserBooking booking) { try { CustomJsonResult result = new CustomJsonResult(); UserBooking userBooking = db.UserBookings.Where(u => u.Date == booking.Date && u.Time == booking.Time && u.IsActive == true).FirstOrDefault(); if (userBooking != null) { result.Data = new { Result = true, UserBooking = booking }; } else { result.Data = new { Result = false }; } return(result); } catch (Exception ex) { throw ex; } }
// // GET: /Booking/ public IActionResult Index(string city, DateTime beginDate, DateTime endDate, int seats) { if (beginDate > endDate) { return(NotFound("Please enter the right order of dates")); } if (beginDate < DateTime.Now.Date) { return(NotFound("Please enter the newest date")); } SeatsCheck.seats = seats; var booking = new UserBooking(beginDate, endDate); UserBooking.bd = beginDate; UserBooking.ed = endDate; var query = from h in _bookingContext.Hotels .Where(h => h.City == city) join r in _bookingContext.Rooms .Where(r => r.Seats == seats) on h.Id equals r.HId join b in _bookingContext.Bookings on r.Id equals b.Idofroom select new JoinResult ( h.Id, r.Id, h.Name, h.City, h.Description, b.Begindate, b.Enddate ); var result = query.AsEnumerable().Where(q => q.Id > 0).ToList(); foreach (var item in result) { if (item.Begindate <= booking.Enddate && item.Enddate >= booking.Begindate) { booking.IsFree = false; } else { booking.Ids.Add(new KeyValuePair <int, int>(item.Id, item.Idofroom)); } } if (booking.IsFree == false) { return(NotFound("No hotel on that time")); } else { var bookings = new List <UserBooking>(); foreach (var item in booking.Ids) { Console.WriteLine("{0} {1}", item.Key, item.Value); var b = new UserBooking(beginDate, endDate); var bContext = _bookingContext.Hotels.FirstOrDefault(h => h.Id == item.Key); b.Name = bContext.Name; b.City = bContext.City; b.Description = bContext.Description; b.Id = item.Key; bookings.Add(b); } return(View(bookings)); } }
public ActionResult New(UserBooking ub) { info = Session["userData"] as User; if (info != null) { if (info.user_types_id == 2) { #region if (ModelState.IsValid) { //Calculate Number Of Available Sets : var busId = db.buses.SingleOrDefault(x => x.BusID == ub.books.Bus_Id); var busAvaSets = busId.AvailableSeats; var choseenChairs = ub.books.chosenChairs; if (busAvaSets < choseenChairs) { return(Json(new { result = 0 })); } //Update Available sets : busAvaSets = busAvaSets - choseenChairs; busId.AvailableSeats = busAvaSets; //Trip Id: var TId = db.trip.Find(ub.books.Trip_ID); // var LId = db.lines.Find(ub.books.Line_Id==id); // var LId2 = db.lines.Where(x=>x.Id == id).ToList(); //Bus Id : var U_Name = db.users.Where(x => x.Name == ub.user.Name).SingleOrDefault(); if (U_Name == null) { return(Json(new { result = 0 })); } var NumOfChairs = choseenChairs; var TripCost = TId.tripCost; var BusCost = busId.Price; var TotalCost = NumOfChairs * TripCost + BusCost; var u_Wallet = U_Name.wallet; if (TotalCost > u_Wallet) { return(Json(new { result = 0 })); } u_Wallet -= TotalCost; U_Name.wallet = u_Wallet; ub.books.User_id = U_Name.UserID; ub.books.Bus_Id = busId.BusID; ub.books.TotalCost = TotalCost; if (ub.books.Trip_ID != ub.books.Line_Id) { return(Json(new { result = 0 })); } db.booking.Add(ub.books); db.SaveChanges(); return(Json(new { result = 1 })); } else { return(Json(new { result = 0 })); } #endregion } else { return(RedirectToAction("page_error_400", "Dashboard")); } } else { return(RedirectToAction("page_error_400", "Dashboard")); } }
public IActionResult Create(CreateBookingViewModel model) { //– var paymentModel = model .PaymentsResults .Split(' ') .Select(x => x.Trim()) .Where(x => !string.IsNullOrWhiteSpace(x)) .ToArray(); Enum.TryParse(paymentModel[0].Trim(), out CardType cardType); Enum.TryParse(paymentModel[6].Trim(), out Currency currency); var holder = string.Empty; var indexP = 3; while (!Regex.IsMatch(paymentModel[indexP], @"\d+")) { holder += paymentModel[indexP]; indexP++; } var payment = new Payment { Card = cardType, CardNumber = paymentModel[1].Trim(), ExpiryDate = DateTime.ParseExact(paymentModel[2].Trim(), "MM/yy", null), CardHolder = holder, CVC = int.Parse(paymentModel[indexP++]), Amount = decimal.Parse(paymentModel[indexP + 1]), Currency = currency }; this.db.Payments.Add(payment); this.db.SaveChanges(); var flightsModel = model .FlightsResults .Split(new[] { "Route:", "Date:", "Time:", "Price:", "Number:" }, StringSplitOptions.RemoveEmptyEntries) .Select(x => x.Trim()) .Where(x => !string.IsNullOrWhiteSpace(x)) .ToArray(); var booking = new Booking { Payment = payment, PaymentId = payment.Id, }; this.db.Bookings.Add(booking); this.db.SaveChanges(); var flightNumbers = new List <string>(); for (int i = 0; i < flightsModel.Length; i += 5) { flightNumbers.Add(flightsModel[i]); } var flights = new List <BookingFlight>(); var flightsDb = this.db.Flights.ToList(); foreach (var number in flightNumbers) { flights.Add(new BookingFlight { Flight = flightsDb.Where(x => number == x.FlightNumber).FirstOrDefault(), FlightId = flightsDb.Where(x => number == x.FlightNumber).Select(x => x.Id).FirstOrDefault(), Booking = booking, BookingId = booking.Id }); } booking.Flights = flights; this.db.SaveChanges(); var namesModel = model.NamesResults.Split(' '); var passengers = GetPassengers(namesModel, model); var bPassengers = new List <BookingPassenger>(); var bFlights = new List <BookingFlight>(); foreach (var p in passengers) { bPassengers.Add(new BookingPassenger { BookingId = booking.Id, PersonId = p.Id }); } booking.Passengers = bPassengers; var user = this.db.Users.Where(x => x.UserName == User.Identity.Name).FirstOrDefault(); var userBooking = new UserBooking { ApplicationUserId = user.Id, BookingId = booking.Id, }; this.db.UserBookings.Add(userBooking); this.db.SaveChanges(); return(this.Redirect("/")); }
public ActionResult ViewBooking(int id) { if (Session["UserID"] == null) { return(RedirectToAction("Login", "Login")); } List <string> ScheduleIDList = new List <string>(); SqlConnection conn = new SqlConnection(); conn.ConnectionString = "Server=.;Initial Catalog=OFRS;User Id=sa;Password=wipro@123"; conn.Open(); SqlCommand cmd = new SqlCommand(); cmd.CommandText = "select ScheduleID from ScheduleTable where FlightID=@FlightID"; cmd.Parameters.AddWithValue("@FlightID", id); cmd.Connection = conn; SqlDataReader sdr = cmd.ExecuteReader(); if (sdr.HasRows) { while (sdr.Read()) { ScheduleIDList.Add(sdr["ScheduleID"].ToString()); } } string[] ScheduleIDArray = ScheduleIDList.ToArray(); List <UserBooking> list = new List <UserBooking>(); for (int i = 0; i < ScheduleIDArray.Length - 1; i++) { SqlConnection conn2 = new SqlConnection(); conn2.ConnectionString = "Server=.;Initial Catalog=OFRS;User Id=sa;Password=wipro@123"; conn2.Open(); SqlCommand cmd2 = new SqlCommand(); cmd2.CommandText = "select * from UserBooking where ScheduleID=@ScheduleID And BookStatus='1' "; cmd2.Parameters.AddWithValue("@ScheduleID", ScheduleIDArray[i]); cmd2.Connection = conn2; SqlDataReader sdr2 = cmd2.ExecuteReader(); if (sdr2.HasRows) { while (sdr2.Read()) { UserBooking user = new UserBooking(); user.BID = sdr2["BID"].ToString(); user.FCSeats = sdr2["FCSeats"].ToString(); user.BCSeats = sdr2["BCSeats"].ToString(); user.ECSeats = sdr2["ECSeats"].ToString(); user.TripPrice = sdr2["TripPrice"].ToString(); list.Add(user); } } } return(View(list)); }
public ActionResult EditBook(UserBooking ub) { info = Session["userData"] as User; if (info != null) { if (info.user_types_id == 2) { if (ModelState.IsValid) { var bookingDb = db.booking.SingleOrDefault(x => x.BokkingID == ub.books.BokkingID); //Calculate Number Of Available Sets : var busId = db.buses.SingleOrDefault(x => x.BusID == ub.books.Bus_Id); var busAvaSets = busId.AvailableSeats; var choseenChairs = ub.books.chosenChairs; if (busAvaSets < choseenChairs) { return(Json(new { result = 0 })); } //Trip Id: var TId = db.trip.Find(ub.books.Trip_ID); //User Id : var U_Name = db.users.Where(x => x.Name == ub.books.users.Name).SingleOrDefault(); if (U_Name == null) { return(Json(new { result = 0 })); } //var BusId = db.buses.Find(ub.books.Bus_Id); var NumOfChairs = ub.books.chosenChairs; var TripCost = TId.tripCost; var BusCost = busId.Price; // var TotalCost = NumOfChairs * TripCost + BusCost; var OldCost = bookingDb.TotalCost; var TotalCost = OldCost; var NewChair = NumOfChairs; var NewChairs = Convert.ToDecimal(NewChair); var NewChairsCost = 0.00; var NewChairCost = Convert.ToDecimal(NewChairsCost); var u_Wallet = U_Name.wallet; if (bookingDb.chosenChairs != ub.books.chosenChairs) { if (ub.books.chosenChairs > bookingDb.chosenChairs) { //New chairs =Number chairs (ub.books.chairs)-Chairs in Db : NewChairs -= bookingDb.chosenChairs; NewChairCost = NewChairs * (TripCost + BusCost); TotalCost += NewChairCost; u_Wallet -= NewChairCost; } if (ub.books.chosenChairs < bookingDb.chosenChairs) { NewChairs = bookingDb.chosenChairs - NewChairs; NewChairCost = NewChairs * (TripCost + BusCost); TotalCost -= NewChairCost; u_Wallet += NewChairCost; } } if (TotalCost > u_Wallet) { return(Json(new { result = 0 })); } U_Name.wallet = u_Wallet; bookingDb.chosenChairs = ub.books.chosenChairs; bookingDb.TotalCost = TotalCost; bookingDb.User_id = U_Name.UserID; bookingDb.Line_Id = ub.books.Line_Id; bookingDb.Payment_Type_Id = ub.books.Payment_Type_Id; bookingDb.Bus_Id = ub.books.Bus_Id; if (ub.books.Trip_ID != ub.books.Line_Id) { return(Json(new { result = 0 })); } db.SaveChanges(); return(Json(new { result = 1 })); } else { return(Json(new { result = 0 })); } } else { return(RedirectToAction("page_error_400", "Dashboard")); } } else { return(RedirectToAction("page_error_400", "Dashboard")); } }