Ejemplo n.º 1
0
        /// <summary>
        /// Get on holding book list
        /// </summary>
        /// <returns></returns>
        public IEnumerable <OnHoldingBook> GetOnHoldingList(string patronCode)
        {
            var onHoldingList = new List <OnHoldingBook>();

            using (var dbContext = new OpacEntities())
            {
                var list = dbContext.CIR_HOLDING.Where(t => t.PatronCode.Equals(patronCode)).ToList();

                foreach (var item in list)
                {
                    string title = dbContext.FIELD200S.Where(t => t.ItemID == item.ItemID && t.FieldCode.Equals("245"))
                                   .Select(a => a.Content).FirstOrDefault();
                    title = title.Replace("$a", "").Replace("$b", " ").Replace("$c", " ")
                            .Replace("$e", " ").Replace("$p", " ").Replace("$n", " ");

                    int    statusId = SetStatusId(item);
                    string status   = NotifyStatus(statusId);

                    OnHoldingBook holding = new OnHoldingBook()
                    {
                        ItemID      = Convert.ToInt32(item.ItemID),
                        Title       = title,
                        CreatedDate = item.CreatedDate,
                        TimeOutDate = Convert.ToDateTime(item.TimeOutDate),
                        StatusId    = statusId,
                        Status      = status
                    };

                    onHoldingList.Add(holding);
                }
            }

            return(onHoldingList);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Get history of borrowed books list
 /// </summary>
 /// <param name="patronID"></param>
 /// <returns></returns>
 public IEnumerable <FPT_SP_OPAC_GET_LOAN_HISTORY_Result> GetLoanHistoryList(int patronID)
 {
     using (var dbContext = new OpacEntities())
     {
         return(dbContext.FPT_SP_OPAC_GET_LOAN_HISTORY(patronID).ToList());
     }
 }
Ejemplo n.º 3
0
        /// <summary>
        /// Get number day for extend date
        /// </summary>
        /// <param name="itemID"></param>
        /// <param name="copyNumber"></param>
        /// <returns></returns>
        public static int GetRenewalPeriod(int itemID, string copyNumber)
        {
            using (var dbContext = new OpacEntities())
            {
                //Renew day for Textbooks are 1 week, Reference books with "Eng" language is 2 weeks, "Vie" is 1 week
                var renewalPeriod = 7;
                var bookType      = dbContext.HOLDINGs.Where(t => t.ItemID == itemID).Select(t => t.CopyNumber).FirstOrDefault();

                if (bookType != null)
                {
                    bookType = bookType.Substring(0, 2);

                    if (bookType.ToLower().Contains("tk"))
                    {
                        var book = dbContext.FPT_SP_GET_LANGUAGE_CODE_ITEM(itemID).FirstOrDefault();

                        if (book != null && !book.ToLower().Trim().Contains("vie"))
                        {
                            renewalPeriod = 14;
                        }
                    }
                }

                return(renewalPeriod);
            }
        }
Ejemplo n.º 4
0
 /// <summary>
 /// Get name of library
 /// </summary>
 /// <param name="libId"></param>
 /// <returns></returns>
 public static string GetLibraryName(int libId)
 {
     using (var dbContext = new OpacEntities())
     {
         return(dbContext.HOLDING_LIBRARY.Where(t => t.ID == libId).ToList().Select(t => t.Name)
                .FirstOrDefault());
     }
 }
Ejemplo n.º 5
0
 /// <summary>
 /// Get type of notice
 /// </summary>
 /// <param name="typeId"></param>
 /// <returns></returns>
 public static string GetTypeNotice(int typeId)
 {
     using (var dbContext = new OpacEntities())
     {
         return(dbContext.TYPE_NOTICE.Where(t => t.ID == typeId).ToList().Select(t => t.TypeNotice)
                .FirstOrDefault());
     }
 }
Ejemplo n.º 6
0
 /// <summary>
 /// Get content of lock reason patron's account
 /// </summary>
 /// <param name="patronCode"></param>
 /// <returns></returns>
 public static string GetLockReason(string patronCode)
 {
     using (var dbContext = new OpacEntities())
     {
         return(dbContext.CIR_PATRON_LOCK.Where(t => t.PatronCode.ToLower().Equals(patronCode.ToLower()))
                .Select(t => t.Note).FirstOrDefault());
     }
 }
Ejemplo n.º 7
0
        public ActionResult ViewIntroductionPage()
        {
            using (var dbContext = new OpacEntities())
            {
                ViewBag.Intro = dbContext.NOTICE_STORE.ToList().FirstOrDefault(t => t.TypeID == 4);
            }

            return(View());
        }
Ejemplo n.º 8
0
        public ActionResult ViewServicePage()
        {
            using (var dbContext = new OpacEntities())
            {
                ViewBag.Service = dbContext.NOTICE_STORE.ToList().FirstOrDefault(t => t.TypeID == 6);
            }

            return(View());
        }
Ejemplo n.º 9
0
        public ActionResult ViewLibraryRegulation()
        {
            using (var dbContext = new OpacEntities())
            {
                ViewBag.Regulation = dbContext.NOTICE_STORE.ToList().FirstOrDefault(t => t.TypeID == 3);
            }

            return(View());
        }
Ejemplo n.º 10
0
 /// <summary>
 /// Check duplicated request to borrow book
 /// </summary>
 /// <param name="itemId"></param>
 /// <param name="patronCode"></param>
 /// <returns></returns>
 public static bool IsExistedItemId(int itemId, string patronCode)
 {
     using (var dbContext = new OpacEntities())
     {
         return(dbContext.CIR_HOLDING.Any(t => t.ItemID == itemId && t.PatronCode.Equals(patronCode) &&
                                          (t.InTurn == true && t.CheckMail ||
                                           t.InTurn == true && !t.CheckMail ||
                                           t.InTurn == false && !t.CheckMail)));
     }
 }
Ejemplo n.º 11
0
        /// <summary>
        /// Get number of extension date
        /// </summary>
        /// <param name="cirID"></param>
        /// <returns></returns>
        public static int GetRenewCount(int cirID)
        {
            using (var dbContext = new OpacEntities())
            {
                var renewalPeriod = (from t in dbContext.CIR_LOAN
                                     where t.ID == cirID
                                     select t.RenewCount).FirstOrDefault();

                return(renewalPeriod);
            }
        }
Ejemplo n.º 12
0
        /// <summary>
        /// Update password
        /// </summary>
        /// <param name="password"></param>
        /// <param name="userID"></param>
        public void UpdatePassword(string password, int userID)
        {
            using (var dbContext = new OpacEntities())
            {
                var account = (from a in dbContext.CIR_PATRON where a.ID == userID select a).FirstOrDefault();

                if (account != null)
                {
                    account.Password = password;
                    dbContext.Entry(account).State = EntityState.Modified;
                    dbContext.SaveChanges();
                }
            }
        }
Ejemplo n.º 13
0
 /// <summary>
 /// Update extend date and count time of extend date
 /// </summary>
 /// <param name="newDate"></param>
 /// <param name="countRenew"></param>
 /// <param name="ID"></param>
 public void ExtendDate(string newDate, int countRenew, int ID)
 {
     using (var dbContext = new OpacEntities())
     {
         var item = (from t in dbContext.CIR_LOAN where t.ID == ID select t).FirstOrDefault();
         if (item != null)
         {
             var tempDateTime = DateTime.ParseExact(newDate, "dd/MM/yyyy",
                                                    System.Globalization.CultureInfo.InvariantCulture).ToString("yyyy/MM/dd");
             var newDateTime = DateTime.ParseExact(tempDateTime, "yyyy/MM/dd",
                                                   System.Globalization.CultureInfo.InvariantCulture);
             item.DueDate                = newDateTime;
             item.RenewCount             = (short)countRenew;
             dbContext.Entry(item).State = EntityState.Modified;
             dbContext.SaveChanges();
         }
     }
 }
Ejemplo n.º 14
0
        /// <summary>
        /// Update password via Email
        /// </summary>
        /// <param name="password"></param>
        /// <param name="email"></param>
        /// <param name="studentCode"></param>
        /// <returns></returns>
        public int UpdatePasswordByEmail(string password, string email, string studentCode)
        {
            using (var dbContext = new OpacEntities())
            {
                var account = (from a in dbContext.CIR_PATRON
                               where a.Email.Equals(email) && a.Code.Equals(studentCode)
                               select a).FirstOrDefault();
                if (account != null)
                {
                    account.Password = password;
                    dbContext.Entry(account).State = EntityState.Modified;
                    dbContext.SaveChanges();
                    return(1);
                }
            }

            return(-1);
        }
Ejemplo n.º 15
0
        //Register to borrow book
        public ActionResult RegisterToBorrowBook(int userID, int itemID, int type)
        {
            if (type == 1)
            {
                string patronCode    = "";
                int    waitingBookId = 1;
                using (var dbContext = new OpacEntities())
                {
                    patronCode = (from t in dbContext.CIR_PATRON where t.ID == userID select t.Code).FirstOrDefault();
                    var lastIndex = dbContext.CIR_HOLDING.ToList().LastOrDefault();

                    if (lastIndex != null)
                    {
                        waitingBookId = lastIndex.ID + 1;
                    }
                }

                DateTime currentTime = DateTime.Now;
                DateTime getBookTime = currentTime.AddDays(7);

                CIR_HOLDING waitingBook = new CIR_HOLDING()
                {
                    ID          = waitingBookId,
                    ItemID      = itemID,
                    CheckMail   = false,
                    InTurn      = true,
                    CreatedDate = currentTime,
                    TimeOutDate = getBookTime,
                    PatronCode  = patronCode
                };

                dao.RegisterToBorrow(waitingBook);
            }
            else
            {
                string patronCode    = "";
                int    waitingBookId = 1;
                using (var dbContext = new OpacEntities())
                {
                    patronCode = (from t in dbContext.CIR_PATRON where t.ID == userID select t.Code).FirstOrDefault();
                    var lastIndex = dbContext.CIR_HOLDING.ToList().LastOrDefault();

                    if (lastIndex != null)
                    {
                        waitingBookId = lastIndex.ID + 1;
                    }
                }

                DateTime currentTime = DateTime.Now;

                CIR_HOLDING waitingBook = new CIR_HOLDING()
                {
                    ID          = waitingBookId,
                    ItemID      = itemID,
                    CheckMail   = false,
                    InTurn      = false,
                    CreatedDate = currentTime,
                    PatronCode  = patronCode
                };

                dao.RegisterToBorrow(waitingBook);
            }

            TempData["BorrowSuccess"] = "Đặt mượn sách thành công!";

            return(RedirectToAction("RegisterToBorrowBookPage", "InformationPatron"));
        }