public IHttpActionResult PuttblBorrow(int id, tblBorrow tblBorrow)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != tblBorrow.BorrowID)
            {
                return(BadRequest());
            }

            db.Entry(tblBorrow).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!tblBorrowExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
예제 #2
0
        // POST: BorrowsManage/End/5
        public ActionResult End(int?BorrowId, string Status)
        {
            if (!isStaff())
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            if (ModelState.IsValid)
            {
                //check param
                if (BorrowId == null || Status == null)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }

                tblBorrow tblBorrow = db.tblBorrows.Find(BorrowId);
                if (tblBorrow == null)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }

                //End borrow
                tblBookDetail tblBookDetail = tblBorrow.tblBookDetail;
                tblBookDetail.Status          = Status;
                tblBorrow.IsEnd               = true;
                db.Entry(tblBorrow).State     = EntityState.Modified;
                db.Entry(tblBookDetail).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View());
        }
        public IHttpActionResult GettblBorrow(int id)
        {
            tblBorrow tblBorrow = db.tblBorrows.Find(id);

            if (tblBorrow == null)
            {
                return(NotFound());
            }

            return(Ok(tblBorrow));
        }
        public IHttpActionResult PosttblBorrow(tblBorrow tblBorrow)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.tblBorrows.Add(tblBorrow);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = tblBorrow.BorrowID }, tblBorrow));
        }
        public IHttpActionResult DeletetblBorrow(int id)
        {
            tblBorrow tblBorrow = db.tblBorrows.Find(id);

            if (tblBorrow == null)
            {
                return(NotFound());
            }

            db.tblBorrows.Remove(tblBorrow);
            db.SaveChanges();

            return(Ok(tblBorrow));
        }
        // Allow User to Extend Book Borrow Transaction
        public ActionResult Extend(int?id)
        {
            //check params
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            tblBorrow tblBorrow = db.tblBorrows.Find(id);

            if (tblBorrow == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            //get USER EMAIL
            if (Session["USER"] == null)
            {
                return(RedirectToAction("Index", "Init"));
            }
            tblAccount tblAccount = (tblAccount)Session["USER"];
            string     email      = tblAccount.Email;

            //check User have permission to change
            if (!tblBorrow.BorrowerEmail.Equals(email))
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            //check Book Transaction have right condition to change
            if (tblBorrow.ExtendNumber <= 0)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            int date = (int)Math.Round((tblBorrow.ReturnDate - DateTime.Now).TotalDays);

            if (date < -3 || date > 1)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            //pass check - extend borrow
            tblBorrow.ReturnDate      = tblBorrow.ReturnDate.AddDays(10);
            tblBorrow.ExtendNumber   -= 1;
            db.Entry(tblBorrow).State = EntityState.Modified;
            db.SaveChanges();

            return(RedirectToAction("Index"));
        }
예제 #7
0
        // GET: BorrowsManage/End/5
        // When student return book! Staff End borrows
        public ActionResult EndBorrow(int?id)
        {
            if (!isStaff())
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            tblBorrow tblBorrow = db.tblBorrows.Find(id);

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

            int date = (int)Math.Round((tblBorrow.ReturnDate - DateTime.Now).TotalDays);

            if (date < 0)
            {
                ViewBag.DayMessage = Math.Abs(date) + " DAYS OVER";
            }
            else
            {
                if (date == 0)
                {
                    ViewBag.DayMessage = "NO DAY LEFT";
                }
                else
                {
                    ViewBag.DayMessage = Math.Abs(date) + " DAYS LEFT";
                }
            }

            return(View("End", tblBorrow));
        }
예제 #8
0
        // POST: BorrowsManage/Create
        // Create new transaction for Borrowing
        public ActionResult Create(string BookID, string SubID, string Email)
        {
            if (!isStaff())
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            if (ModelState.IsValid)
            {
                //check param
                if (BookID == null || SubID == null)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }
                tblBook tblBook = db.tblBooks.Find(BookID);
                if (tblBook == null)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }
                ViewBag.BookName = tblBook.Name;

                //neu book khong available thi return va bao loi
                if (!tblBook.Status.Equals("Available"))
                {
                    ViewBag.BookID        = BookID;
                    ViewBag.CreateMessage = "This Book is not available to borrow!";
                    return(View());
                }

                //neu Book Instance ID khong ton tai thi return ve View va bao loi
                // Book InstanceID = BookID + SubID
                string        InstanceID    = BookID + SubID;
                tblBookDetail tblBookDetail = db.tblBookDetails.Find(InstanceID);
                if (tblBookDetail == null)
                {
                    ViewBag.BookID        = BookID;
                    ViewBag.CreateMessage = "This Instance ID does not exist!";
                    return(View());
                }

                //BookInstance is Lost or Borrowed
                if (tblBookDetail.Status != "Free")
                {
                    ViewBag.BookID        = BookID;
                    ViewBag.CreateMessage = "This Book Instance does not available!";
                    return(View());
                }

                //neu Email khong ton tai thi return View va bao loi
                tblAccount tblAccount = db.tblAccounts.Find(Email);
                if (tblAccount == null)
                {
                    ViewBag.BookID        = BookID;
                    ViewBag.CreateMessage = "This Email does not exist";
                    return(View());
                }
                //end validate

                //Add
                tblBookDetail.Status          = "Borrowed";
                db.Entry(tblBookDetail).State = EntityState.Modified;


                tblBorrow tblBorrow = new tblBorrow();
                tblBorrow.BorrowerEmail = Email;
                tblBorrow.BookSubID     = InstanceID;
                tblBorrow.ExtendNumber  = 3;
                tblBorrow.CreateDate    = DateTime.Now;
                tblBorrow.ReturnDate    = DateTime.Now.AddDays(10);
                tblBorrow.IsEnd         = false;

                db.tblBorrows.Add(tblBorrow);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View());
        }