public IActionResult Reservation() { //Getting a list of sittings from the db List <Sitting> s = _reservationServices.GetListSitting(); //checking UserID var UserID = _userManager.GetUserId(HttpContext.User); //If the UserID is not null, in other words if the user is logged in. if (UserID != null) { //We assign the User based on their Id to the "user" variable var user = _context.Users.Where(r => r.Id == UserID).FirstOrDefault(); //putting the data in the "m" viewmodel ReservationCreateModel m = new ReservationCreateModel { //customer details FirstName = user.FirstName, LastName = user.LastName, Email = user.Email, PhoneNumber = user.PhoneNumber, //sittings details AllSittings = s }; //Return the view with the data from the view model. return(View(m)); } else { //Otherwise we only return the sittings ReservationCreateModel model = new ReservationCreateModel { AllSittings = s }; return(View(model)); } }
public IActionResult Reservation(ReservationCreateModel model) { if (ModelState.IsValid) { //setting default values for reservation ReservationCreateModel m = model; m.Status = "Pending"; m.Source = "WebSite"; m.EndTime = model.StartTime.AddHours(1); Customer c = _reservationServices.GetCustomerByEmail(model.Email); List <Customer> Cs = _reservationServices.GetAllRCustomers(); if (Cs.Contains(c)) { model.CustomerID = c.CustomerID; _reservationServices.AddReservationOnly(m); return(RedirectToAction("Done")); } else { _reservationServices.AddCustomerReservation(m); return(RedirectToAction("Done")); } } else { return(View(model)); } }
public void AddCustomerReservation(ReservationCreateModel command) // creates a new Reservation and a new Customer { Customer Customer = new Customer() { FirstName = command.FirstName, LastName = command.LastName, PhoneNumber = command.PhoneNumber, Email = command.Email }; Reservation Reservation = new Reservation() { NumberOfGuests = command.NumberOfGuests, AdditionalRequirements = command.AdditionalRequirements, Date = command.Date, StartTime = command.StartTime, EndTime = command.EndTime, Status = command.Status, Source = command.Source, //Customer CustomerID = Customer.CustomerID, Customer = Customer, //sitting SittingID = command.SittingID }; _context.Reservations.Add(Reservation); _context.SaveChanges(); }
public ActionResult Create(ReservationCreateModel model) { if (ModelState.IsValid) { var reservation = _reservationCreateCommand.Execute(model); return(RedirectToAction("Details", new { id = reservation.Id })); } return(View(model)); }
public ActionResult Create(ReservationCreateModel model) { if (ModelState.IsValid) { var reservation = _reservationCreateCommand.Execute(model); return RedirectToAction("Details", new { id = reservation.Id }); } return View(model); }
public ActionResult Create() { var model = new ReservationCreateModel() { ArrivalDate = DateTime.Now, DepartureDate = DateTime.Now }; return View(model); }
public ActionResult Create() { var model = new ReservationCreateModel() { ArrivalDate = DateTime.Now, DepartureDate = DateTime.Now }; return(View(model)); }
//----------------------------------------------------------------------------- CREATE Section: public void AddReservationOnly(ReservationCreateModel command) // creates a new Reservation { Reservation Reservation = new Reservation() { NumberOfGuests = command.NumberOfGuests, AdditionalRequirements = command.AdditionalRequirements, Date = command.Date, StartTime = command.StartTime, EndTime = command.EndTime, Status = command.Status, Source = command.Source, //Customer CustomerID = command.CustomerID, //sitting SittingID = command.SittingID }; _context.Reservations.Add(Reservation); _context.SaveChanges(); }
public async Task <ActionResult> Create() { List <CourseDto> courses; List <InstructorDto> instructors; List <RoomDto> rooms; RoomListVm roomsList; InstructorListVm instructorsList; CoursesListVm coursesList; using (var httpClient = new HttpClient()) { using var res1 = await httpClient.GetAsync(_configuration.GetSection ("apiUrl").Value + "/courses/GetAll"); string apiResponse = await res1.Content.ReadAsStringAsync(); coursesList = JsonConvert.DeserializeObject <CoursesListVm>(apiResponse); courses = coursesList.Courses; using var res2 = await httpClient.GetAsync(_configuration.GetSection ("apiUrl").Value + "/rooms/GetAll"); apiResponse = await res2.Content.ReadAsStringAsync(); roomsList = JsonConvert.DeserializeObject <RoomListVm>(apiResponse); rooms = roomsList.Rooms; using var res3 = await httpClient.GetAsync(_configuration.GetSection ("apiUrl").Value + "/instructors/GetAll"); apiResponse = await res3.Content.ReadAsStringAsync(); instructorsList = JsonConvert.DeserializeObject <InstructorListVm>(apiResponse); instructors = instructorsList.Instructors; } ReservationCreateModel model = new ReservationCreateModel() { Reservation = new ReservationDto(), Courses = courses, Rooms = rooms, Instructors = instructors }; return(View(model)); }
public ActionResult CreateReservation() { var semester = SemesterService.GetSemester(DateTime.Today); var memberService = new MemberService(Db, UserManager); var roomService = new MyStik.TimeTable.Web.Services.RoomService(); var org = GetMyOrganisation(); var userRight = GetUserRight(User.Identity.Name, org.ShortName); // Alle Räume, auf die der Veranstalter Zugriff hat var rooms = roomService.GetRooms(org.Id, userRight.IsRoomAdmin); var now = DateTime.Now; var minute = DateTime.Now.Minute; var quarter = minute / 15; var time = now.AddMinutes(-minute + quarter * 15); var model = new ReservationCreateModel { NewDate = DateTime.Today.ToShortDateString(), NewBegin = time.TimeOfDay.ToString(), NewEnd = time.TimeOfDay.ToString(), DailyEnd = DateTime.Today.ToShortDateString(), WeeklyEnd = DateTime.Today.ToShortDateString(), IsDaily = false, IsWeekly = false, Rooms = rooms, OrganiserId = org.Id }; ViewBag.Organiser = Db.Organisers.OrderBy(x => x.ShortName).Select(c => new SelectListItem { Text = c.ShortName, Value = c.Id.ToString(), }); return(View(model)); }
public JsonResult CreateReservation(ReservationCreateModel model) { // Doppelungen von Namen pro Organiser vermeiden var org = GetMyOrganisation(); var reservation = Db.Activities.OfType <Reservation>().SingleOrDefault(r => r.Organiser.Id == org.Id && r.Name.ToLower().Equals(model.Name.ToLower())); if (reservation == null) { var user = AppUser; reservation = new Reservation { Name = model.Name, ShortName = model.Name, Description = model.Description, UserId = user.Id, Organiser = org }; Db.Activities.Add(reservation); } // Termine hinzufügen var sDate = DateTime.Parse(model.NewDate); var sBegin = TimeSpan.Parse(model.NewBegin); var sEnd = TimeSpan.Parse(model.NewEnd); var sDateEndDaily = DateTime.Parse(model.DailyEnd); var sDateEndWeekly = DateTime.Parse(model.WeeklyEnd); var semester = SemesterService.GetSemester(DateTime.Today); var dayOfWeek = sDate.DayOfWeek; var dayListDaily = new List <DateTime>(); var dayListWeekly = new List <DateTime>(); // Erstellung der Datumsliste if (model.IsDaily) { // alle Tage von NewDate bis DailyDate // egal ob Wochenende / Feiertag var day = sDate; while (day <= sDateEndDaily) { dayListDaily.Add(day); day = day.AddDays(1); } } else { dayListDaily.Add(sDate); } if (model.IsWeekly) { foreach (var dailyDate in dayListDaily) { var day = dailyDate; while (day <= sDateEndWeekly) { dayListWeekly.Add(day); day = day.AddDays(7); } } } else { dayListWeekly.AddRange(dayListDaily); } foreach (var day in dayListWeekly) { var start = day.Add(sBegin); var end = day.Add(sEnd); var date = new ActivityDate { Begin = start, End = end, //Occurrence = new Occurrence { Capacity = -1, IsAvailable = true, FromIsRestricted = false, UntilIsRestricted = false }, }; if (model.RoomIds != null) { foreach (var roomId in model.RoomIds) { date.Rooms.Add(Db.Rooms.SingleOrDefault(r => r.Id == roomId)); } } if (model.DozIds != null) { foreach (var dozId in model.DozIds) { date.Hosts.Add(Db.Members.SingleOrDefault(x => x.Id == dozId)); } } reservation.Dates.Add(date); } Db.SaveChanges(); return(Json(new { result = "Redirect", url = Url.Action("Details", new { id = reservation.Id }) })); }