public ActionResult DeclineReservedRoom(int room_id) { JongHorDBEntities1 jonghor = new JongHorDBEntities1(); Room_Reserved roomReserved = jonghor.Room_Reserved.Where(r => r.Room_ID == room_id).First(); jonghor.Room_Reserved.Remove(roomReserved); jonghor.Room.Find(room_id).Status = (int)Status.Avaliable; try { jonghor.SaveChanges(); } catch (DbEntityValidationException ex) { // Retrieve the error messages as a list of strings. var errorMessages = ex.EntityValidationErrors .SelectMany(x => x.ValidationErrors) .Select(x => x.ErrorMessage); // Join the list to a single string. var fullErrorMessage = string.Join("; ", errorMessages); // Combine the original exception message with the new one. var exceptionMessage = string.Concat(ex.Message, " The validation errors are: ", fullErrorMessage); // Throw a new DbEntityValidationException with the improved exception message. throw new DbEntityValidationException(exceptionMessage, ex.EntityValidationErrors); } Response.Write("<script>alert('New Dorm Added')</script>"); return(Roomsort("All")); }
public void GetRoomListView(string name, Status status) { PersonBusinessLayer userBa = new PersonBusinessLayer(); Person user = userBa.GetUser(name); int dorm_id = user.Dorm.First().Dorm_ID; foreach (var room in user.Dorm.First().Room) { if (room.Status == (int)Status.Reserved) { Room_Reserved reserved = room.Room_Reserved.First(); if (reserved.Count <= reserved.Room.Room_Type.Max) { room.Person.Add(reserved.Person); Rooms.Add(new RoomViewModel(room.Floor + room.Room_number, room.Person, room.Status, room.Room_ID)); } } else if (room.Status == (int)status) { Rooms.Add(new RoomViewModel(room.Floor + room.Room_number, room.Person, room.Status, room.Room_ID)); } } }
public ActionResult Submit() { int count = 0; int reserve_ID = 0; //new count = 1; Room_Reserved reserved_input = new Room_Reserved(); reserved_input.Room_ID = int.Parse(Session["room_id"] + ""); reserved_input.Username = Session["UserName"] + ""; reserved_input.Count = count; // CHeck login if (Session["UserName"] == null) { return(RedirectToAction("Reserve", new { error = 1, room = int.Parse(Session["room_id"] + "") })); } //check Reserve More 1 room // 1 คน มี ห้อง Room_ReservedLayer RoomReservedLayer = new Room_ReservedLayer(); List <Room_Reserved> RoomReservedList = RoomReservedLayer.GetRoom_Reserved(); int ReserveCount = 0; foreach (Room_Reserved room in RoomReservedList) { if (reserved_input.Username == room.Username) { ReserveCount++; } } if (ReserveCount >= 1) { return(RedirectToAction("Reserve", new { error = 3, room = int.Parse(Session["room_id"] + "") })); } //check Count RoomViewLayer Roomview = new RoomViewLayer(); Roomview = Roomview.GetRoomViewByRoom(int.Parse(Session["room_id"] + "")); if (Roomview.room.Room_Type.Max < (Roomview.Reserved_num + count)) { return(RedirectToAction("Reserve", new { error = 4, room = int.Parse(Session["room_id"] + "") })); } /* * // check full * else if (Roomview.room.Room_Type.Max == (Roomview.Reserved_num + count)) // เท่ากัน * { * db.Room.Find(Roomview.room.Room_ID).Status = (int)Status.NotAvaliable; * * }*/ // change status to reserve db.Room.Find(Roomview.room.Room_ID).Status = (int)Status.Reserved; //check Reserved_ID Room_ReservedLayer Room_ReservedDB = new Room_ReservedLayer(); List <Room_Reserved> RoomReDBList = Room_ReservedDB.GetRoom_Reserved(); foreach (Room_Reserved Roomreserved in RoomReDBList) { if (reserve_ID == Roomreserved.Reserve_ID) { reserve_ID++; } } reserved_input.Reserve_ID = reserve_ID; try { db.Room_Reserved.Add(reserved_input); db.SaveChanges(); RoomViewLayer RoomDB = new RoomViewLayer(); List <RoomViewLayer> RoomViewList = RoomDB.GetRoomViewByDorm(reserved_input.Room.Dorm_ID); return(View("Room", RoomViewList)); } catch { return(RedirectToAction("Reserve", new { error = 2, room = int.Parse(Session["room_id"] + "") })); } // return reserve +; }