Esempio n. 1
0
        public IEnumerable <RoomFeature> GetAllRoomFeaturesForRoom(int id)
        {
            using (SqlConnection con = Connections.HotelConnection)
            {
                SqlCommand cmd = new SqlCommand("GetAllRoomFeaturesForRoom", con);
                cmd.CommandType = System.Data.CommandType.StoredProcedure;
                SqlParameter roomId = new SqlParameter("@roomId", id);

                cmd.Parameters.Add(roomId);
                con.Open();

                SqlDataReader      reader       = cmd.ExecuteReader();
                List <RoomFeature> roomFeatures = new List <RoomFeature>();

                while (reader.Read())
                {
                    RoomFeature roomFeature = new RoomFeature();
                    roomFeature.Id        = reader.GetInt32(0);
                    roomFeature.RoomId    = reader.GetInt32(1);
                    roomFeature.FeatureId = reader.GetInt32(2);

                    roomFeatures.Add(roomFeature);
                }
                using (var unitOfWork = new UnitOfWork(new HotelContext()))
                {
                    var result = unitOfWork.RoomFeatures.GetRoomFeatures(roomId: id);
                    unitOfWork.Complete();
                    return(result);
                }
            }
        }
Esempio n. 2
0
        public ActionResult DeleteConfirmed(int id)
        {
            RoomFeature roomFeature = db.RoomFeatures.Find(id);

            db.RoomFeatures.Remove(roomFeature);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Esempio n. 3
0
 public ActionResult Edit([Bind(Include = "Id,Title,Description,AdditionalCost")] RoomFeature roomFeature)
 {
     if (ModelState.IsValid)
     {
         db.Entry(roomFeature).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(roomFeature));
 }
Esempio n. 4
0
        public ActionResult Create([Bind(Include = "Id,Title,Description,AdditionalCost")] RoomFeature roomFeature)
        {
            if (ModelState.IsValid)
            {
                db.RoomFeatures.Add(roomFeature);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(roomFeature));
        }
Esempio n. 5
0
        public void RoomFeatureCreationTest()
        {
            string      description = "This stunning addition to any room will leave you smokin'!";
            RoomFeature feature     = new RoomFeature("Lasers", description);

            Assert.AreEqual("Lasers", feature.ToString());
            Assert.AreEqual(description, feature.Description);

            var minibar  = RoomFeature.Get(RoomFeatures.Minibar);
            var TV       = RoomFeature.Get(RoomFeatures.TV);
            var internet = RoomFeature.Get(RoomFeatures.Internet);
        }
Esempio n. 6
0
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            RoomFeature roomFeature = db.RoomFeatures.Find(id);

            if (roomFeature == null)
            {
                return(HttpNotFound());
            }
            return(View(roomFeature));
        }
Esempio n. 7
0
        public void RemoveRoomFeature(RoomFeature roomFeature)
        {
            using (SqlConnection con = Connections.HotelConnection)
            {
                SqlCommand cmd = new SqlCommand("RemoveRoomFeature", con);
                cmd.CommandType = System.Data.CommandType.StoredProcedure;
                SqlParameter roomId    = new SqlParameter("@roomId", roomFeature.RoomId);
                SqlParameter featureId = new SqlParameter("@featureId", roomFeature.FeatureId);
                SqlParameter deleted   = new SqlParameter("@deleted", roomFeature.Deleted);

                cmd.Parameters.Add(roomId);
                cmd.Parameters.Add(featureId);
                cmd.Parameters.Add(deleted);
                con.Open();
                cmd.ExecuteNonQuery();
            }
        }
Esempio n. 8
0
        public IActionResult OnPostCreate(string imageName)
        {
            Room.VenueId = tempVenueId;
            Room.Image   = imageName;
            Room.Floor   = _floorService.GetFromId(Room.FloorId).Result.Name;
            Room.Events  = _eventService.GetAll().Result.FindAll(e => e.RoomId.Equals(Room.RoomId));
            foreach (int fId in SelectedFeatures)
            {
                Room.Features ??= new Dictionary <int, bool>();

                Feature f = _featureService.GetFromId(fId).Result;
                Room.Features.Add(f.FeatureId, true);
            }


            lock (_createRoomLock)
            {
                _roomService.Create(Room).Wait();

                if (Room.Features != null)
                {
                    if (Room.Features.Count != 0)
                    {
                        int maxId = 0;
                        maxId = _roomService.GetAll().Result.OrderByDescending(r => r.RoomId).First().RoomId;

                        foreach (int featureId in Room.Features.Keys)
                        {
                            RoomFeature rf = new RoomFeature
                            {
                                FeatureId = featureId, RoomId = maxId, IsAvailable = true
                            };

                            _roomFeatureService.Create(rf).Wait();
                        }
                    }
                }
            }

            return(RedirectToPage("/Admin/RoomTest/Index"));
        }
Esempio n. 9
0
        public async Task <IActionResult> OnPostUpdateAsync(string imageName, int id)
        {
            Room.RoomId  = id;
            Room.Floor   = _floorService.GetFromId(Room.FloorId).Result.Name;
            Room.Events  = _eventService.GetAll().Result.FindAll(e => e.RoomId.Equals(Room.RoomId));
            Room.VenueId = tempVenueId;
            Room.Image   = imageName;
            RoomFeatures = _roomFeatureService.GetAll().Result.FindAll(room => room.RoomId.Equals(Room.RoomId));
            foreach (int fId in SelectedFeatures)
            {
                Room.Features ??= new Dictionary <int, bool>();

                Feature f = _featureService.GetFromId(fId).Result;
                Room.Features.Add(f.FeatureId, true);
            }

            foreach (var rf in RoomFeatures)
            {
                await _roomFeatureService.Delete(rf.FeatureId, rf.RoomId);
            }
            await _roomService.Update(Room);

            if (Room.Features?.Count > 0)
            {
                foreach (int featureId in Room.Features.Keys)
                {
                    RoomFeature rf = new RoomFeature();
                    rf.FeatureId   = featureId;
                    rf.RoomId      = Room.RoomId;
                    rf.IsAvailable = true;

                    _roomFeatureService.Create(rf).Wait();
                }
            }

            return(RedirectToPage("/Admin/RoomTest/Index"));
        }
Esempio n. 10
0
        protected override void Seed(Hotel.Data.HotelDbContext context)
        {
            //  This method will be called after migrating to the latest version.

            //  You can use the DbSet<T>.AddOrUpdate() helper extension method
            //  to avoid creating duplicate seed data.
            if (!context.Roles.Any(r => r.Name == "Admin"))
            {
                var roleManager = new MyRoleManager(new MyRoleStore(context));
                var adminRole   = new IdentityRole("Admin");
                roleManager.Create(adminRole);
            }
            if (!context.Users.Any(u => u.Email == "*****@*****.**"))
            {
                var manager = new UserManager <Employee>(new UserStore <Employee>(context));
                var user    = new Employee()
                {
                    UserName  = "******",
                    Email     = "*****@*****.**",
                    FirstName = "Test",
                    LastName  = "Test"
                };
                manager.Create(user, "123123");
                manager.AddToRole(user.Id, "Admin");
            }
            RoomType basic = new RoomType {
                Id          = 1, Title = "Basic", BasicRate = 10, LivingRoomsCount = 1, ImageUrl = "basic.jpg",
                Description = "Basic setup for comfortable living with all needed features."
            };
            RoomType normal = new RoomType {
                Id          = 2, Title = "Normal", BasicRate = 15, LivingRoomsCount = 2, ImageUrl = "normal.jpg",
                Description = "Extend format for comfortable living with one additional room."
            };
            RoomType business = new RoomType {
                Id          = 3, Title = "Business", BasicRate = 20, LivingRoomsCount = 3, ImageUrl = "business.jpg",
                Description = "Basic setup for comfortable living with all needed features."
            };
            RoomType luxury = new RoomType {
                Id          = 4, Title = "Luxury", BasicRate = 35, LivingRoomsCount = 5, ImageUrl = "luxury.jpg",
                Description = "The best apartments with perfecrt view of the city for our best guests."
            };

            context.RoomTypes.AddOrUpdate(basic);
            context.RoomTypes.AddOrUpdate(normal);
            context.RoomTypes.AddOrUpdate(business);
            context.RoomTypes.AddOrUpdate(luxury);

            RoomFeature condition = new RoomFeature {
                Id = 1, Title = "Air condition", Description = "High quility air condition", AdditionalCost = 2
            };
            RoomFeature miniBar = new RoomFeature {
                Id = 2, Title = "Minibar", Description = "Unlimited minibar", AdditionalCost = 3
            };

            context.RoomFeatures.AddOrUpdate(condition);
            context.RoomFeatures.AddOrUpdate(miniBar);

            Room basicRoom = new Room {
                Id = 1, Floor = 2, MaxVisitorsCount = 1, Type = basic, Title = "Basic room", ImageUrl = "basic.jpg"
            };
            Room normalRoom = new Room {
                Id       = 2, Floor = 2, MaxVisitorsCount = 2, Type = normal, Title = "Normal room", ImageUrl = "normal.jpg",
                Features = new System.Collections.Generic.List <RoomFeature> {
                    condition
                }
            };
            Room businessRoom = new Room {
                Id       = 3, Floor = 5, MaxVisitorsCount = 2, Type = business, Title = "Business room", ImageUrl = "business.jpg",
                Features = new System.Collections.Generic.List <RoomFeature> {
                    condition, miniBar
                }
            };

            context.Rooms.AddOrUpdate(basicRoom);
            context.Rooms.AddOrUpdate(normalRoom);
            context.Rooms.AddOrUpdate(businessRoom);
        }
 public CreateRoomFeatureModel(ICrudService <RoomFeature> rfService)
 {
     roomFeatureService = rfService;
     roomFeatureService.Init_Composite(ModelTypes.Feature, ModelTypes.Room, ModelTypes.RoomFeature);
     RoomFeature = new RoomFeature();
 }