public static Booking HandleRequest(ReservationRequest rr)
        {
            Booking returnBooking = null;


            if (rr.isValid())
            {
                dat154_19_2Entities db = new dat154_19_2Entities();

                // finner id på rom booket i perioden
                var bookedRoomIds = db.Booking
                                    .Where(bo => !(bo.CheckOutDate.CompareTo(rr.CheckInDate) < 0 || bo.CheckInDate.CompareTo(rr.CheckOutDate) > 0))
                                    .Select(bo => bo.RoomId);

                // finner rom med nok senger, som ikke er i forrige query, henter ut den med færrest rom av ledige
                var bestRoom = db.Room
                               .Where(rm => rm.NumberOfBeds >= rr.NumberOfBeds)
                               .Where(rm => !bookedRoomIds.Contains(rm.RoomId))
                               .OrderBy(rm => rm.NumberOfBeds)
                               .FirstOrDefault();

                if (bestRoom != null)
                {
                    returnBooking = new Booking
                    {
                        CustomerUsername = rr.Username,
                        CheckInDate      = rr.CheckInDate,
                        CheckOutDate     = rr.CheckOutDate,
                        RoomId           = bestRoom.RoomId
                    };
                }
            }
            return(returnBooking);
        }
예제 #2
0
 public CheckOutWindow(dat154_19_2Entities dac)
 {
     booking  = dac.Booking;
     this.dac = dac;
     InitializeComponent();
     booking.Load();
     ReservationListView.DataContext = booking.Local;
 }
예제 #3
0
        public CheckOutWindow(dat154_19_2Entities dac, Booking bookingElement)
        {
            booking  = dac.Booking;
            this.dac = dac;
            InitializeComponent();
            booking.Load();
            ReservationListView.DataContext = booking.Local;

            RoomNumberTextBox.Text = bookingElement.RoomId.ToString();

            CustomerNameTextBox.Text = dac.Customer.FirstOrDefault(cu => cu.Username == bookingElement.CustomerUsername)?.Name;
        }
 // POST
 public ActionResult LoginPost(Customer objUser)
 {
     if (ModelState.IsValid)
     {
         using (dat154_19_2Entities db = new dat154_19_2Entities())
         {
             var obj = db.Customer.FirstOrDefault(a => a.Username.Equals(objUser.Username) && a.Password.Equals(objUser.Password));
             if (obj != null)
             {
                 Session["Username"] = obj.Username.ToString();
                 return(RedirectToAction("LogInForwardActionResult"));
             }
         }
     }
     return(RedirectToAction("Login"));
 }
예제 #5
0
 public CheckInWindow(dat154_19_2Entities dac)
 {
     InitializeComponent();
     this.dac = dac;
 }