Пример #1
0
 public ActionResult Edit(RoomEditModel model)
 {
     if (ModelState.IsValid)
     {
         var room = _roomEditCommand.Execute(model);
         return(RedirectToAction("Details", new { id = room.Id }));
     }
     return(View(model));
 }
Пример #2
0
        public ActionResult Edit(RoomEditModel model)
        {
            if (!this.ModelState.IsValid)
            {
                this.ViewBag.Error = ModelValidationErrors.InvalidModel;
                return(this.View(model));
            }

            var room = this.rooms.GetById(model.Id);

            if (room == null)
            {
                this.TempData["Error"] = ModelValidationErrors.EditDeletedEntity;
                return(this.RedirectToAction("Index"));
            }

            room.Type            = model.Type;
            room.Description     = model.Description;
            room.Capacity        = model.Capacity;
            room.Price           = model.Price;
            room.AirConditioning = model.AirConditioning;
            room.Balcon          = model.Balcon;
            room.Bathroom        = model.Bathroom;
            room.FreeWiFi        = model.FreeWiFi;
            room.HairDryer       = model.HairDryer;

            room.Heating   = model.Heating;
            room.Iron      = model.Iron;
            room.Minibar   = model.Minibar;
            room.Telephone = model.Telephone;
            room.TV        = model.TV;

            this.rooms.Update();

            this.TempData["Success"] = "Room was successful edited!";
            return(this.RedirectToAction("Index"));
        }
Пример #3
0
        public ActionResult Edit(RoomEditModel model)
        {
            if (!this.ModelState.IsValid)
            {
                this.ViewBag.Error = ModelValidationErrors.InvalidModel;
                return this.View(model);
            }

            var room = this.rooms.GetById(model.Id);
            if (room == null)
            {
                this.TempData["Error"] = ModelValidationErrors.EditDeletedEntity;
                return this.RedirectToAction("Index");
            }

            room.Type = model.Type;
            room.Description = model.Description;
            room.Capacity = model.Capacity;
            room.Price = model.Price;
            room.AirConditioning = model.AirConditioning;
            room.Balcon = model.Balcon;
            room.Bathroom = model.Bathroom;
            room.FreeWiFi = model.FreeWiFi;
            room.HairDryer = model.HairDryer;

            room.Heating = model.Heating;
            room.Iron = model.Iron;
            room.Minibar = model.Minibar;
            room.Telephone = model.Telephone;
            room.TV = model.TV;

            this.rooms.Update();

            this.TempData["Success"] = "Room was successful edited!";
            return this.RedirectToAction("Index");
        }
        public IHttpActionResult AddRoom([FromBody] RoomEditModel model)
        {
            Room room = new Room();

            try
            {
                if (model.Id == -1)
                {
                    room.MaxPeople  = model.MaxPeople;
                    room.WindowView = model.WindowView;
                    room.Price      = model.Price;
                    room.RoomTypeId = model.RoomType;
                    room.HotelId    = model.HotelId;
                    db.Rooms.Add(room);

                    if (model.Equipments != null)
                    {
                        foreach (var eq in model.Equipments)
                        {
                            Equipment equipment = db.Equipments.FirstOrDefault(e => e.Id == eq);
                            equipment.Rooms.Add(room);;
                        }
                    }
                    for (int i = 0; i < model.CountOfRooms; i++)
                    {
                        RoomItem roomItem = new RoomItem()
                        {
                            RoomId    = room.Id,
                            Room      = room,
                            IsDeleted = false
                        };
                        db.RoomItems.Add(roomItem);
                    }
                }
                else
                {
                    room            = db.Rooms.FirstOrDefault(x => x.Id == model.Id);
                    room.HotelId    = model.HotelId;
                    room.MaxPeople  = model.MaxPeople;
                    room.WindowView = model.WindowView;
                    room.Price      = model.Price;
                    room.RoomTypeId = model.RoomType;

                    var photosForDeleting = room.RoomPhotos.Where(x => !model.RoomPhotos.Any(y => y.Id == x.Id));
                    foreach (var photo in photosForDeleting)
                    {
                        string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, photo.PhotoLink.Remove(0, 6).Replace("/", "\\"));
                        if (System.IO.File.Exists(path))
                        {
                            System.IO.File.Delete(path);
                        }

                        photo.IsDeleted       = true;
                        db.Entry(photo).State = EntityState.Modified;
                    }

                    room.Equipments.RemoveRange(0, room.Equipments.Count);
                    if (model.Equipments != null)
                    {
                        foreach (var eq in model.Equipments)
                        {
                            Equipment equipment = db.Equipments.FirstOrDefault(e => e.Id == eq);
                            room.Equipments.Add(equipment);
                        }
                    }

                    var countOfRoomItems = room.RoomItems.Where(x => !x.IsDeleted).Count();
                    if (model.CountOfRooms > countOfRoomItems)
                    {
                        for (int i = 0; i < model.CountOfRooms - countOfRoomItems; i++)
                        {
                            RoomItem roomItem = new RoomItem()
                            {
                                RoomId    = room.Id,
                                IsDeleted = false
                            };
                            db.RoomItems.Add(roomItem);
                        }
                    }
                    else if (model.CountOfRooms < countOfRoomItems)
                    {
                        for (int i = 0; i < countOfRoomItems - model.CountOfRooms; i++)
                        {
                            RoomItem roomItem = db.RoomItems.FirstOrDefault(x => x.RoomId == model.Id && !x.IsDeleted);
                            roomItem.IsDeleted       = true;
                            db.Entry(roomItem).State = EntityState.Modified;
                        }
                    }
                    db.Entry(room).State = EntityState.Modified;
                }

                db.SaveChanges();
            }
            catch (Exception ex)
            {
                int i = 2 + 4;
            }
            return(Ok(room.Id));
        }