public ActionResult Create(HttpPostedFileBase[] files, [Bind(Include = "RoomType_id,RType,Descriptions,Images,Views,Bed,MaxPerson,Size")] ROOMTYPE rOOMTYPE)
        {
            List <string> listImg = new List <string>();

            if (ModelState.IsValid)
            {
                foreach (HttpPostedFileBase file in files)
                {
                    if (file != null)
                    {
                        string postedFileName = System.IO.Path.GetFileName(file.FileName);
                        var    path           = System.IO.Path.Combine(Server.MapPath("/images/" + postedFileName));
                        listImg.Add(postedFileName);
                        file.SaveAs(path);
                    }
                }

                rOOMTYPE.RoomType_id = createId();
                rOOMTYPE.Images      = string.Join(",", listImg);
                db.ROOMTYPEs.Add(rOOMTYPE);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(rOOMTYPE));
        }
        public ActionResult DeleteConfirmed(string id)
        {
            ROOMTYPE rOOMTYPE = db.ROOMTYPEs.Find(id);

            db.ROOMTYPEs.Remove(rOOMTYPE);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Example #3
0
 //RoomMgr에서 DFS조건을 만족 못시켰을 때마다 모든 걸 초기화시키기 위해 만든 함수이다.
 //초기화해주지않으면 방의 정보가 남아있어 검색을 다시해도 똑같은 결과값이 나오게됨.
 public void ReInitialize()
 {
     IsSearched       = false;
     IsCreated        = false;
     roomType         = ROOMTYPE.NORMAL;
     currentRoomIndex = 0;
     LeftRoomIndex    = -1;
     RightRoomIndex   = -1;
     BottomRoomIndex  = -1;
     TopRoomIndex     = -1;
 }
        // GET: ROOMTYPEs/Details/5
        public ActionResult Details(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ROOMTYPE rOOMTYPE = db.ROOMTYPEs.Find(id);

            if (rOOMTYPE == null)
            {
                return(HttpNotFound());
            }
            return(View(rOOMTYPE));
        }
Example #5
0
        // GET: Test/RoomtypeDetail/5
        public ActionResult RoomtypeDetail(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ROOMTYPE Roomtype = db.ROOMTYPEs.Find(id);

            if (Roomtype == null)
            {
                return(HttpNotFound());
            }

            ViewBag.paytypeData = db.PAYTYPEs.ToList();

            return(View(Roomtype));
        }
Example #6
0
        public ActionResult RoomtypeDetail(string check_in_date, string check_out_date, string roomtype)
        {
            // list roomtype for search
            // list paytype for booking form

            ROOMTYPE Roomtype = db.ROOMTYPEs.Find(roomtype);

            ViewBag.roomtypeData = db.ROOMTYPEs.ToList();
            ViewBag.paytypeData  = db.PAYTYPEs.ToList();


            // -------------check user input-------------
            if (isCorrectFormat(check_in_date) == false || isCorrectFormat(check_out_date) == false)
            {
                return(View(Roomtype));
            }
            else if (NumberOfDays(check_in_date, check_out_date) < 0)
            {
                return(View(Roomtype));
            }


            // -------price and total for booking form----------
            int numberOfDays = NumberOfDays(check_in_date, check_out_date);

            String queryRent =
                "SELECT r.Rent_id, r.Price, r.IsActive, r.From_Date, r.To_Date, r.RoomType_id "
                + "FROM(SELECT * FROM ROOMTYPE rt WHERE(rt.RoomType_id = '" + roomtype + "')) rt, RENT r "
                + "WHERE(r.RoomType_id = rt.RoomType_id) and r.IsActive = 'True' ";

            var rent  = db.Database.SqlQuery <RENT>(queryRent);
            int price = rent.ToList()[0].Price;
            int total = numberOfDays * price;


            // ---------------check room availability--------------

            string check_in_date_format  = FormatDate(check_in_date);
            string check_out_date_format = FormatDate(check_out_date);

            String query =
                "DECLARE @S DATE; "
                + " SET @S = '" + check_in_date_format + "' "
                + " DECLARE @E DATE; "
                + " SET @E = '" + check_out_date_format + "' "
                + " DECLARE @RT varchar(20); "
                + " SET @RT = '" + roomtype + "' "

                + " SELECT r.Room_id, r.RoomType_id"
                + " FROM (SELECT * FROM ROOM WHERE ROOM.RoomType_id = @RT) r "
                + " EXCEPT "
                + " SELECT Distinct c.Room_id, c.RoomType_id "
                + " FROM( "
                + "   SELECT a.Room_id, a.RoomType_id, b.Booking_id, b.Check_in_date, b.Check_out_date, b.Customer_id "
                + "    FROM(SELECT * FROM ROOM WHERE ROOM.RoomType_id = @RT) a, BOOKING b "
                + "    WHERE a.Room_id = b.Room_id "
                + " ) c "
                + " WHERE( "
                + "      (@S <= c.Check_in_date and(@E >= c.Check_in_date and @E <= c.Check_out_date)) "
                + "        or((@S >= c.Check_in_date and @S <= c.Check_out_date) and @E >= c.Check_out_date ) "
                + "       or(@S >= c.Check_in_date and @E <= c.Check_out_date) "
                + "       or(@S <= c.Check_in_date and @E >= c.Check_out_date) "
                + ")";


            var         data  = db.Database.SqlQuery <ROOM>(query);
            List <ROOM> data1 = data.ToList();

            // not availability
            if (data1.Count <= 0)
            {
                System.Diagnostics.Debug.WriteLine("Khong co phong");
                ViewBag.isExist   = false;
                ViewBag.showAlert = true;
                return(View(Roomtype));
            }
            else
            {
                // flag for create booking form
                ViewBag.isExist = true;
            }


            //System.Diagnostics.Debug.WriteLine(data1[0].Room_id);

            // booking form
            ViewBag.roomtype_input       = roomtype;
            ViewBag.roomtype_show        = db.ROOMTYPEs.Find(roomtype).RType;
            ViewBag.check_in_date_input  = check_in_date;
            ViewBag.check_out_date_input = check_out_date;
            ViewBag.room_id = data1[0].Room_id;
            ViewBag.price   = price;
            ViewBag.total   = total;


            return(View(Roomtype));
        }