Пример #1
0
        public async Task <IActionResult> PutRoomAmenity(int id, RoomAmenity roomAmenity)
        {
            if (id != roomAmenity.RoomID)
            {
                return(BadRequest());
            }

            _context.Entry(roomAmenity).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!RoomAmenityExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Пример #2
0
        public async Task <IActionResult> Edit(int id, [Bind("AmenityID,RoomID")] RoomAmenity roomAmenity)
        {
            if (id != roomAmenity.AmenityID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(roomAmenity);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!RoomAmenityExists(roomAmenity.AmenityID, roomAmenity.RoomID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["AmenityID"] = new SelectList(_context.Amenities, "ID", "Name", roomAmenity.AmenityID);
            ViewData["RoomID"]    = new SelectList(_context.Rooms, "ID", "Name", roomAmenity.RoomID);
            return(View(roomAmenity));
        }
Пример #3
0
        public async void CanSaveRoomAmenityInDB()
        {
            DbContextOptions <HotelDbContext> options =
                new DbContextOptionsBuilder <HotelDbContext>().UseInMemoryDatabase("DbSaveRoomAmenity").Options;

            using (HotelDbContext context = new HotelDbContext(options))
            {
                Room room = new Room();
                room.Name   = "Cove";
                room.Layout = Layout.OneBedroom;
                context.Rooms.Add(room);

                Amenity amenity = new Amenity();
                amenity.Name = "Mini Bar";
                context.Amenities.Add(amenity);

                // Arrange
                RoomAmenity roomAmenity = new RoomAmenity();
                roomAmenity.Room    = room;
                roomAmenity.Amenity = amenity;
                context.RoomAmenities.Add(roomAmenity);

                context.SaveChanges();

                // Act
                var roomAmenityGet = await context.RoomAmenities.FirstOrDefaultAsync();

                // Assert
                Assert.Equal(amenity, roomAmenityGet.Amenity);
            }
        }
Пример #4
0
        public async void CanDeleteRoomAmenityInDB()
        {
            DbContextOptions <HotelDbContext> options =
                new DbContextOptionsBuilder <HotelDbContext>().UseInMemoryDatabase("DbDeleteRoomAmenity").Options;

            using (HotelDbContext context = new HotelDbContext(options))
            {
                Room room = new Room();
                room.Name   = "Cove";
                room.Layout = Layout.Studio;
                context.Rooms.Add(room);

                Amenity amenity = new Amenity();
                amenity.Name = "Mini Bar";
                context.Amenities.Add(amenity);

                // Arrange
                RoomAmenity roomAmenity = new RoomAmenity();
                roomAmenity.Room    = room;
                roomAmenity.Amenity = amenity;
                context.RoomAmenities.Add(roomAmenity);
                context.SaveChanges();

                // Act
                context.RoomAmenities.Remove(roomAmenity);
                context.SaveChanges();

                var nameOfRoomAmenity = await context.RoomAmenities.FirstOrDefaultAsync();

                // Assert
                Assert.False(context.RoomAmenities.Any());
            }
        }
Пример #5
0
        // POST: RoomAmenities/Create
        // To protect from overposting attacks, please enable the specific properties you want to bind to, for
        // more details see https://go.microsoft.com/fwlink/?LinkId=317598.
        public JsonResult CreateRoomAmenities(RoomAmenity roomAmenity)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    int totalExistRows = db.RoomAmenities.Where(x => x.RoomAmenitiesName.ToUpper().Equals(roomAmenity.RoomAmenitiesName.ToUpper())).Count();
                    if (totalExistRows > 0)
                    {
                        return(Json(new { StatusCode = HttpStatusCode.Found, StatusMessage = "Room Amenity already present" }, JsonRequestBehavior.AllowGet));
                    }
                    roomAmenity.CreatedBy   = (Session["User"] as SessionEntity).UserID;
                    roomAmenity.CreatedDate = DateTime.Now;
                    db.RoomAmenities.Add(roomAmenity);
                    db.SaveChanges();
                    return(Json(new { StatusCode = HttpStatusCode.Created, StatusMessage = "Room Amenity Saved Successfully" }, JsonRequestBehavior.AllowGet));
                }
                ViewBag.CreatedBy  = new SelectList(db.Users, "UserID", "FirstName", roomAmenity.CreatedBy);
                ViewBag.RoomTypeID = new SelectList(db.RoomTypes, "RoomTypeID", "RoomTypeName", roomAmenity.RoomTypeID);
                ViewBag.UpdatedBy  = new SelectList(db.Users, "UserID", "FirstName", roomAmenity.UpdatedBy);
            }
            catch (Exception e)
            {
                return(Json(new { StatusCode = HttpStatusCode.MethodNotAllowed, StatusMessage = e.Message }, JsonRequestBehavior.AllowGet));
            }

            return(Json(new { StatusCode = HttpStatusCode.MethodNotAllowed, StatusMessage = "Please enter required fields" }, JsonRequestBehavior.AllowGet));
        }
Пример #6
0
        public async void CreateRoomAmenityDB()
        {
            DbContextOptions <AsyncInnDbContext> options =
                new DbContextOptionsBuilder <AsyncInnDbContext>()
                .UseInMemoryDatabase("CreateRoomAmenity")
                .Options;

            using (AsyncInnDbContext context = new AsyncInnDbContext(options))
            {
                // create room, create amenity, create
                //room amenity
                Amenity a = new Amenity();
                a.Name = "Air Conditioning";
                Room r = new Room();
                r.Name = "Mii amo";
                context.Add(a);
                context.Add(r);
                context.SaveChanges();

                var amenity = context.Amenity.FirstOrDefaultAsync(x => x.Name == a.Name);
                var room    = context.Rooms.FirstOrDefaultAsync(x => x.Name == r.Name);

                RoomAmenity ra = new RoomAmenity();
                ra.AmenitiesID = amenity.Id;
                ra.RoomID      = room.Id;
                context.RoomAmenity.Add(ra);
                context.SaveChanges();

                var roomamenity = await context.RoomAmenity.FirstOrDefaultAsync(x => x.AmenitiesID == ra.AmenitiesID);

                //assert db entry
                Assert.Equal(roomamenity.RoomID, ra.RoomID);
            }
        }
Пример #7
0
        public async Task RemoveAmentityFromRoom(int roomId, int amenityId)
        {
            RoomAmenity roomAmenity = await _context.RoomAmenities.Where(x => x.AmenityId == amenityId).FirstOrDefaultAsync();

            _context.Entry(roomAmenity).State = EntityState.Deleted;

            await _context.SaveChangesAsync();
        }
        public ActionResult DeleteConfirmed(int id)
        {
            RoomAmenity roomAmenity = db.RoomAmenity.Find(id);

            db.RoomAmenity.Remove(roomAmenity);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #9
0
        public void CanGetAndSetAmenity()
        {
            RoomAmenity ra      = new RoomAmenity();
            Amenity     amenity = new Amenity();

            amenity.Name = "Ice Box";
            ra.Amenity   = amenity;
            Assert.Equal(amenity, ra.Amenity);
        }
Пример #10
0
        // GET: RoomAmenities/Details/5
        public ActionResult Details(int?id)
        {
            RoomAmenity roomAmenity = db.RoomAmenities.Find(id);

            if (roomAmenity == null)
            {
                return(Json(new { StatusCode = HttpStatusCode.NoContent, StatusMessage = "Room Amenities not found" }, JsonRequestBehavior.AllowGet));
            }
            return(PartialView(roomAmenity));
        }
Пример #11
0
        /// <summary>
        /// Removes a given amenity from a specific room.
        /// </summary>
        /// <param name="roomId">Unique id for room</param>
        /// <param name="amenityId">Unique id for amenity to be removed</param>
        /// <returns>Task of completion</returns>
        public async Task RemoveAmenityFromRoom(int roomId, int amenityId)
        {
            RoomAmenity result = await _context.RoomAmenities.FindAsync(roomId, amenityId);

            if (result != null)
            {
                _context.Entry(result).State = EntityState.Deleted;
                await _context.SaveChangesAsync();
            }
        }
Пример #12
0
        public async Task AddAmenityAsync(long amenityId, long roomId)
        {
            var roomAmenity = new RoomAmenity
            {
                AmenityId = amenityId,
                RoomId    = roomId
            };

            _context.RoomAmenities.Add(roomAmenity);
            await _context.SaveChangesAsync();
        }
Пример #13
0
        public async Task AddAmenityToRoom(int roomId, int amenityId)
        {
            var roomAmenity = new RoomAmenity
            {
                AmenityId = amenityId,
                RoomId    = roomId,
            };

            _context.RoomAmenities.Add(roomAmenity);
            await _context.SaveChangesAsync();
        }
Пример #14
0
        public async Task <IActionResult> Create([Bind("AmenitiesID,RoomID")] RoomAmenity roomAmenity)
        {
            if (ModelState.IsValid)
            {
                _context.Add(roomAmenity);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(roomAmenity));
        }
Пример #15
0
        public async Task AddAmenityToRoom(int roomId, int amenityId)
        {
            RoomAmenity roomAmenity = new RoomAmenity()
            {
                RoomId    = roomId,
                AmenityId = amenityId
            };

            _context.Entry(roomAmenity).State = EntityState.Added;
            await _context.SaveChangesAsync();
        }
Пример #16
0
        public async Task AddAmenityAsync(int roomId, int amenityId)
        {
            var amenity = new RoomAmenity
            {
                RoomId    = roomId,
                AmenityId = amenityId
            };

            _context.RoomAmenities.Add(amenity);
            await _context.SaveChangesAsync();
        }
Пример #17
0
        public async Task AddAmenityToRoom(int roomID, int amenityID)
        {
            var roomAmenity = new RoomAmenity
            {
                AmenityID = amenityID,
                RoomID    = roomID
            };

            _context.RoomAmenity.Add(roomAmenity);
            await _context.SaveChangesAsync();
        }
 public ActionResult Edit([Bind(Include = "amenityID,reservationID,serviceID,date")] RoomAmenity roomAmenity)
 {
     if (ModelState.IsValid)
     {
         db.Entry(roomAmenity).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.reservationID = new SelectList(db.Reservation, "reservationID", "reservationID", roomAmenity.reservationID);
     ViewBag.serviceID     = new SelectList(db.Service, "serviceID", "name", roomAmenity.serviceID);
     return(View(roomAmenity));
 }
Пример #19
0
        public async Task <IActionResult> Create([Bind("AmenityID,RoomID")] RoomAmenity roomAmenity)
        {
            if (ModelState.IsValid)
            {
                _context.Add(roomAmenity);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["AmenityID"] = new SelectList(_context.Amenities, "ID", "Name", roomAmenity.AmenityID);
            ViewData["RoomID"]    = new SelectList(_context.Rooms, "ID", "Name", roomAmenity.RoomID);
            return(View(roomAmenity));
        }
Пример #20
0
        // GET: RoomAmenities/Edit/5
        public ActionResult Edit(int?id)
        {
            RoomAmenity roomAmenity = db.RoomAmenities.Find(id);

            if (roomAmenity == null)
            {
                return(Json(new { StatusCode = HttpStatusCode.NoContent, StatusMessage = "Room Amenity not found" }, JsonRequestBehavior.AllowGet));
            }
            ViewBag.CreatedBy  = new SelectList(db.Users, "UserID", "FirstName", roomAmenity.CreatedBy);
            ViewBag.RoomTypeID = new SelectList(db.RoomTypes, "RoomTypeID", "RoomTypeName", roomAmenity.RoomTypeID);
            ViewBag.UpdatedBy  = new SelectList(db.Users, "UserID", "FirstName", roomAmenity.UpdatedBy);
            return(PartialView(roomAmenity));
        }
Пример #21
0
 // POST: RoomAmenities/Delete/5
 public JsonResult DeleteConfirmed(int id)
 {
     try
     {
         RoomAmenity roomAmenity = db.RoomAmenities.Find(id);
         db.RoomAmenities.Remove(roomAmenity);
         db.SaveChanges();
         return(Json(new { StatusCode = HttpStatusCode.Created, StatusMessage = "Room Amenity Deleted Successfully" }, JsonRequestBehavior.AllowGet));
     }
     catch (Exception e)
     {
         return(Json(new { StatusCode = HttpStatusCode.MethodNotAllowed, StatusMessage = e.Message }, JsonRequestBehavior.AllowGet));
     }
 }
        public ActionResult Create([Bind(Include = "amenityID,reservationID,serviceID")] RoomAmenity roomAmenity)
        {
            if (ModelState.IsValid)
            {
                roomAmenity.date = DateTime.Now;
                db.RoomAmenity.Add(roomAmenity);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.reservationID = new SelectList(db.Reservation, "reservationID", "reservationID", roomAmenity.reservationID);
            ViewBag.serviceID     = new SelectList(db.Service, "serviceID", "name", roomAmenity.serviceID);
            return(View(roomAmenity));
        }
        // GET: RoomAmenities/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            RoomAmenity roomAmenity = db.RoomAmenity.Find(id);

            if (roomAmenity == null)
            {
                return(HttpNotFound());
            }
            return(View(roomAmenity));
        }
        // GET: RoomAmenities/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            RoomAmenity roomAmenity = db.RoomAmenity.Find(id);

            if (roomAmenity == null)
            {
                return(HttpNotFound());
            }
            ViewBag.reservationID = new SelectList(db.Reservation, "reservationID", "reservationID", roomAmenity.reservationID);
            ViewBag.serviceID     = new SelectList(db.Service, "serviceID", "name", roomAmenity.serviceID);
            return(View(roomAmenity));
        }
Пример #25
0
        public async Task <RoomDto> AddAmenityToRoom(int roomId, int amenityId)
        {
            RoomAmenity roomAmenity = new RoomAmenity()
            {
                RoomId    = roomId,
                AmenityId = amenityId
            };

            _context.Entry(roomAmenity).State = EntityState.Added;

            await _context.SaveChangesAsync();

            var dto = await GetRoom(roomId);

            return(dto);
        }
Пример #26
0
        public async Task <ActionResult <RoomAmenity> > PostRoomAmenity(RoomAmenity roomAmenity)
        {
            _context.RoomAmenity.Add(roomAmenity);
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateException)
            {
                if (RoomAmenityExists(roomAmenity.RoomID))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtAction("GetRoomAmenity", new { id = roomAmenity.RoomID }, roomAmenity));
        }
        public void AddAmenityToRoom(int amenityId, int roomId)
        {
            var roomAmenity = new RoomAmenity
            {
                AmenityId = amenityId,
                RoomId    = roomId
            };

            using (var dbContextTransaction = db.Database.BeginTransaction())
            {
                try
                {
                    db.RoomAmenities.Add(roomAmenity);
                    db.SaveChanges();
                    dbContextTransaction.Commit();
                }
                catch (Exception)
                {
                    dbContextTransaction.Rollback();
                }
            }
        }
Пример #28
0
 // POST: RoomAmenities/Edit/5
 // To protect from overposting attacks, please enable the specific properties you want to bind to, for
 // more details see https://go.microsoft.com/fwlink/?LinkId=317598.
 public JsonResult UpdateRoomAmenities(RoomAmenity roomAmenity)
 {
     try
     {
         if (ModelState.IsValid)
         {
             db.Entry(roomAmenity).State = EntityState.Modified;
             roomAmenity.UpdatedBy       = (Session["User"] as SessionEntity).UserID;
             roomAmenity.UpdatedDate     = DateTime.Now;
             db.SaveChanges();
             return(Json(new { StatusCode = HttpStatusCode.Created, StatusMessage = "Room Amenity Updated Successfully" }, JsonRequestBehavior.AllowGet));
         }
         ViewBag.CreatedBy  = new SelectList(db.Users, "UserID", "FirstName", roomAmenity.CreatedBy);
         ViewBag.RoomTypeID = new SelectList(db.RoomTypes, "RoomTypeID", "RoomTypeName", roomAmenity.RoomTypeID);
         ViewBag.UpdatedBy  = new SelectList(db.Users, "UserID", "FirstName", roomAmenity.UpdatedBy);
     }
     catch (Exception e)
     {
         return(Json(new { StatusCode = HttpStatusCode.MethodNotAllowed, StatusMessage = e.Message }, JsonRequestBehavior.AllowGet));
     }
     return(Json(new { StatusCode = HttpStatusCode.MethodNotAllowed, StatusMessage = "Please enter required fields" }, JsonRequestBehavior.AllowGet));
 }
Пример #29
0
        public async void CanUpdateRoomAmenityInDB()
        {
            DbContextOptions <HotelDbContext> options =
                new DbContextOptionsBuilder <HotelDbContext>().UseInMemoryDatabase("DbUpdateRoomAmenity").Options;

            using (HotelDbContext context = new HotelDbContext(options))
            {
                Room room = new Room();
                room.Name   = "Cove";
                room.Layout = Layout.OneBedroom;
                context.Rooms.Add(room);

                Amenity amenityOne = new Amenity();
                amenityOne.Name = "Mini Bar";
                context.Amenities.Add(amenityOne);

                Amenity amenityTwo = new Amenity();
                amenityTwo.Name = "Cigars";
                context.Amenities.Add(amenityTwo);

                // Arrange
                RoomAmenity roomAmenity = new RoomAmenity();
                roomAmenity.Room    = room;
                roomAmenity.Amenity = amenityOne;

                // Act
                roomAmenity.Amenity = amenityTwo;
                context.RoomAmenities.Update(roomAmenity);
                context.SaveChanges();

                var nameOfRoomAmenity = await context.RoomAmenities.FirstOrDefaultAsync();

                // Assert
                Assert.Equal(amenityTwo, nameOfRoomAmenity.Amenity);
            }
        }