Пример #1
0
        public IActionResult Info(int id)
        {
            Book book = _iBookRepository.GetByIdWithBookHistory(id);

            if (book == null)
            {
                return(RedirectToAction("List"));
            }

            Author author = _iAuthorRepository.GetById(book.AuthorId);

            BookInfoViewModel bookInfoViewModel = new BookInfoViewModel();

            bookInfoViewModel.Book   = book;
            bookInfoViewModel.Author = author;

            foreach (BookHistory history in book.BooksHistory)
            {
                BookHistoryModel model = new BookHistoryModel();
                model.ReaderId     = history.ReaderId;
                model.ReaderName   = history.Reader.Name;
                model.BorrowedDate = history.BorrowedDate;
                model.ReturnDate   = history.ReturnDate;

                bookInfoViewModel.BookHistoryModel.Add(model);
            }

            return(View(bookInfoViewModel));
        }
Пример #2
0
        public IActionResult Info(int id)
        {
            Reader reader = _readerRepository.GetByIdWithBookHistory(id);

            if (reader == null)
            {
                return(RedirectToAction("List"));
            }

            ReaderInfoViewModel readerInfoViewModel = new ReaderInfoViewModel();

            readerInfoViewModel.Reader = reader;

            foreach (BookHistory history in reader.BooksHistory)
            {
                BookHistoryModel model = new BookHistoryModel();
                model.BookId       = history.BookId;
                model.BookTitle    = history.Book.Title;
                model.BorrowedDate = history.BorrowedDate;
                model.ReturnDate   = history.ReturnDate;

                readerInfoViewModel.BookHistoryModel.Add(model);
            }

            return(View(readerInfoViewModel));
        }
Пример #3
0
 public void ReturnBook(int userid, int bookid)
 {
     try
     {
         if (StaticDatabase._bookHistoryList.Any(m => m.BookID == bookid && m.UserID == userid))
         {
             BookHistoryModel obj = StaticDatabase._bookHistoryList.Where(m => m.BookID == bookid && m.UserID == userid).FirstOrDefault();
             obj.IsAvilable = false;
         }
     }
     catch
     {
         throw;
     }
 }
        public string IssueBook(BookHistoryModel obj)
        {
            try
            {
                using (LINQ_to_SQLDataContext dbContext = new LINQ_to_SQLDataContext())
                {
                    if (dbContext.tbl_UserModels.Any(x => x.UserID == obj.UserID && x.IsAdmin == false) && dbContext.tbl_BookModels.Any(x => x.BookID == obj.BookID))
                    {
                        if (dbContext.tbl_BookHistoryModels.Any(x => x.BookID == obj.BookID && x.ReturnedAt == null))
                        {
                            return(StringLiterals.BookIsAssignedToUser);
                        }
                        if (dbContext.tbl_BookModels.Any(x => x.BookID == obj.BookID && (x.IsActive == false || x.IsAvailable == false)))
                        {
                            return(StringLiterals.Error);
                        }
                        dbContext.tbl_BookModels.SingleOrDefault(x => x.BookID == obj.BookID).IsAvailable = false;
                        obj.OperationPerofrmedAt = DateTime.Now;
                        SqlCommand cmd = new SqlCommand("spAddHistory");
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.Parameters.AddWithValue("@BookID", obj.BookID);
                        cmd.Parameters.AddWithValue("@UserID", obj.UserID);
                        cmd.Parameters.AddWithValue("@OperationPerformedAt", obj.OperationPerofrmedAt);
                        cmd.Parameters.AddWithValue("@ReturnedAt", System.Data.SqlTypes.SqlDateTime.MinValue);
                        cmd.Parameters.AddWithValue("@Remarks", obj.Remarks);
                        cmd.Parameters.AddWithValue("@PerformedByID", obj.PerformedByID);
                        dbcon.ExeNonQuery(cmd);

                        SqlCommand cmdForLog = new SqlCommand("spAddLog");
                        cmdForLog.CommandType = CommandType.StoredProcedure;
                        cmdForLog.Parameters.AddWithValue("@BookID", obj.BookID);
                        cmdForLog.Parameters.AddWithValue("@UserID", obj.UserID);
                        dbcon.ExeNonQuery(cmdForLog);

                        dbContext.SubmitChanges();
                        return(StringLiterals.IssueBookMsg + (obj.OperationPerofrmedAt.AddDays(30)));
                    }
                    else
                    {
                        return(StringLiterals.Error);
                    }
                }
            }
            catch
            {
                throw;
            }
        }
Пример #5
0
        public string IssueBook(BookHistoryModel obj)
        {
            try
            {
                if (StaticDatabase._bookHistoryList.Any(m => m.BookID == obj.BookID && m.ReturnedAt == null))
                {
                    return(StringLiterals.BookIsAssignedToUser);
                }

                StaticDatabase._bookHistoryList.Add(obj);
                return(StringLiterals.SuccesMsg);
            }
            catch
            {
                throw;
            }
        }
Пример #6
0
 public string IssueBook(BookHistoryModel obj)
 {
     return(_bookObj.IssueBook(obj));
 }
Пример #7
0
        public string IssueBook(BookHistoryModel obj)
        {
            using (SqlConnection connection = new SqlConnection(dbstring))
            {
                SqlCommand cmd = new SqlCommand("CheckBookAvailability", connection);
                cmd.Parameters.AddWithValue("@bookID", obj.BookID);
                cmd.CommandType = CommandType.StoredProcedure;
                try
                {
                    connection.Open();
                    int choice = (int)cmd.ExecuteScalar();
                    if (choice == 1)
                    {
                        cmd = new SqlCommand("IssueBook", connection);
                        cmd.Parameters.AddWithValue("@bookID", obj.BookID);
                        cmd.Parameters.AddWithValue("@userID", obj.UserID);
                        cmd.Parameters.AddWithValue("@operationPerformedAt", obj.OperationPerformedAt);
                        cmd.Parameters.AddWithValue("@remarks", obj.Remarks);
                        cmd.Parameters.AddWithValue("@performedbyID", obj.PerformedByID);
                        cmd.CommandType = CommandType.StoredProcedure;
                        try
                        {
                            cmd.ExecuteNonQuery();
                            return(StringLiterals.SuccesMsg);
                        }
                        catch
                        {
                            throw;
                        }
                    }
                    else
                    {
                        return(StringLiterals.BookNotAvailable);
                    }
                }
                catch
                {
                    throw;
                }
                finally
                {
                    cmd.Dispose();
                    connection.Close();
                }
            }

            /*try
             * {
             *  if (StaticDatabase._bookHistoryList.Any(m => m.BookID == obj.BookID && m.ReturnedAt == null))
             *  {
             *      return StringLiterals.BookIsAssignedToUser;
             *  }
             *  else
             *  {
             *      obj.PerformedByID=1;
             *      obj.Issued="Issued";
             *      obj.Returned="NA";
             *      StaticDatabase._bookHistoryList.Add(obj);
             *      BookModel _issueupdate=StaticDatabase._booksList.Where(m=>m.BookID==obj.BookID).FirstOrDefault();
             *      if(_issueupdate.IsAvailable==true) _issueupdate.IsAvailable=false;
             *
             *      return StringLiterals.SuccesMsg;
             *   }
             * }
             * catch
             * {
             *  throw;
             *
             * }*/
        }
        public static int AdminChoiceSelect()
        {
            IBookModule BookChoice = BALFactory.GetBookModuleObject();
            int         choice;

            Console.WriteLine(StringLiterals.Welcome);
            Console.WriteLine(StringLiterals.AdminChoice);
            Console.Write(StringLiterals.ChoiceEntry);
            choice = Int32.Parse(Console.ReadLine());
            switch (choice)
            {
            case 1:
                Console.Clear();
                Console.WriteLine(StringLiterals.EnterBookDetails);
                Console.Write(StringLiterals.BookName);
                string _bookName = Console.ReadLine();
                Console.Write(StringLiterals.BookAuthor);
                string _bookAuthor = Console.ReadLine();
                Console.Write(StringLiterals.BookDepartment);
                string _bookDept = Console.ReadLine();
                Console.Write(StringLiterals.Remarks);
                string _bookRemarks = Console.ReadLine();
                Console.Write(StringLiterals.NumberofBooks);
                int _bookCount = Int32.Parse(Console.ReadLine());
                for (int _loopAdd = 0; _loopAdd < _bookCount; _loopAdd++)
                {
                    BookChoice.AddBook(new BookModel {
                        Name       = _bookName,
                        AuthorName = _bookAuthor,
                        Department = _bookDept,
                        Remarks    = _bookRemarks,
                        IsActive   = true
                    });
                }
                break;

            case 2:
                Console.Clear();
                BookHistoryModel issueInfo = new BookHistoryModel();
                Console.WriteLine(StringLiterals.IssuingDetails);
                Console.Write(StringLiterals.BookID);
                issueInfo.BookID = Int32.Parse(Console.ReadLine());
                Console.Write(StringLiterals.UserID);
                issueInfo.UserID = Int32.Parse(Console.ReadLine());
                Console.Write(StringLiterals.IssueTime);
                issueInfo.OperationPerformedAt = DateTime.Now;
                Console.WriteLine(issueInfo.OperationPerformedAt);
                Console.Write(StringLiterals.Validity);
                issueInfo.ReturnedAt = DateTime.Now.AddDays(30);
                Console.WriteLine(issueInfo.ReturnedAt);
                Console.Write(StringLiterals.Remarks);
                issueInfo.Remarks = Console.ReadLine();
                Console.Write(StringLiterals.AuthorityID);
                issueInfo.PerformedByID = Int32.Parse(Console.ReadLine());
                string _issuemsg = BookChoice.IssueBook(issueInfo);
                Console.WriteLine(_issuemsg);
                break;

            case 3:
                Console.Clear();
                Console.WriteLine(StringLiterals.EnterBookDetails);
                Console.Write(StringLiterals.BookID);
                int    _returnID = Int32.Parse(Console.ReadLine());
                string _retMsg   = BookChoice.ReturnBook(_returnID);
                Console.WriteLine(_retMsg);
                break;

            case 4:
                Console.Clear();
                Console.WriteLine(StringLiterals.BookID);
                int    _removeID  = Int32.Parse(Console.ReadLine());
                string _removemsg = BookChoice.RemoveBook(_removeID);
                Console.WriteLine(_removemsg);
                break;

            case 5:
                Console.Clear();
                int _getList = 0;
                Console.WriteLine(StringLiterals.BookListChoice);
                int _listChoice = Int32.Parse(Console.ReadLine());
                Console.Clear();
                if (_listChoice == 1)
                {
                    _getList = 1;
                }
                else if (_listChoice == 2)
                {
                    _getList = 2;
                }
                else if (_listChoice == 3)
                {
                    _getList = 3;
                }
                else
                {
                    Console.WriteLine(StringLiterals.InvalidEntry);
                }
                DataTable BookList = BookChoice.GetAllBooks(_getList);
                foreach (DataRow item in BookList.Rows)
                {
                    Console.WriteLine(StringLiterals.BookListOut, item[0], item[1], item[3], item[2]);
                }
                Console.Write(StringLiterals.PressContinue);
                Console.ReadKey();
                Console.Clear();
                break;

            case 6:
                historylabel :       Console.Clear();
                Console.WriteLine(StringLiterals.BookHistoryChoice);
                _listChoice = Int32.Parse(Console.ReadLine());
                DataTable histList = BookChoice.HistoryOfBook(_listChoice);
                if (_listChoice == 1)
                {
                    foreach (DataRow item in histList.Rows)
                    {
                        Console.WriteLine(StringLiterals.IssueOut, item[0], item[1], item[2], item[7]);
                    }
                }

                else if (_listChoice == 2)
                {
                    foreach (DataRow item in histList.Rows)
                    {
                        Console.WriteLine(StringLiterals.ReturnOut, item[0], item[1], item[3], item[7]);
                    }
                }
                else if (_listChoice == 3)
                {
                    foreach (DataRow item in histList.Rows)
                    {
                        Console.WriteLine(StringLiterals.AllLog, item[0], item[1], item[2], item[3], item[7]);
                    }
                }
                else
                {
                    Console.Write(StringLiterals.InvalidEntry); goto historylabel;
                }
                Console.ReadKey();
                Console.Clear();
                break;

            case 7:
                Console.Clear();
                Console.WriteLine(StringLiterals.BookName);
                string    _searcharg = Console.ReadLine();
                DataTable _srchList  = BookChoice.SearchBook(_searcharg);
                foreach (DataRow item in _srchList.Rows)
                {
                    Console.WriteLine(StringLiterals.SearchResult, item[0], item[1], item[3], item[2]);
                }
                Console.WriteLine(StringLiterals.PressContinue);
                Console.ReadKey();
                Console.Clear();
                break;

            case 8:
                Console.Clear();
                IAuthentication _userEntry = BALFactory.GetAuthenticationObject();
                UserModel       _newuser   = new UserModel();
                Console.WriteLine(StringLiterals.UserEntry);
                Console.Write(StringLiterals.UserName);
                _newuser.Name = Console.ReadLine();
                Console.Write(StringLiterals.UserEmail);
                _newuser.Email = Console.ReadLine();
                Console.WriteLine(_userEntry.Register(_newuser));
                break;

            case 9:
                Console.WriteLine(StringLiterals.SignOut);
                return(1);
            }
            return(0);
        }