コード例 #1
0
ファイル: CatalogController.cs プロジェクト: mnngocc/Library
        public IActionResult Detail(int id)
        {
            int  libCard = 0;
            bool isLogin = false;

            if (HttpContext.Session.GetString("username") != null)
            {
                libCard = (int)HttpContext.Session.GetInt32("LibraryCard");
                isLogin = true;
            }

            var asset        = _assets.GetById(id);
            var currentHolds = _checkouts.GetCurrentHold(id)
                               .Select(a => new AssetHoldModel
            {
                HoldPlaced = _checkouts.GetCurrentHoldPlaced(a.Id).ToString(),
                PatronName = _checkouts.GetCurrentHoldPatron(a.Id)
            });
            var model = new AssetDetailModel
            {
                AssetId                      = id,
                Title                        = asset.Title,
                Type                         = _assets.GetType(id),
                Year                         = asset.Year,
                Cost                         = asset.Cost,
                Status                       = asset.Status.Name,
                ImageUrl                     = asset.ImageUrl,
                AuthorOrDirector             = _assets.GetAuthorOrDirector(id), //Ham duoc viet cho lop Interface -  Services
                CurrentLocation              = _assets.GetCurrentLocation(id)?.Name,
                Dewey                        = _assets.GetDeweyIndex(id),
                Isbn                         = _assets.GetIsbn(id),
                CheckoutHistory              = _checkouts.GetCheckoutHistory(id),
                CurrentAssociatedLibraryCard = _assets.GetLibraryCardByAssetId(id),
                LatestCheckout               = _checkouts.GetLatestCheckout(id),
                PatronName                   = _checkouts.GetCurrentPatron(id),
                CheckHoldExist               = _checkouts.CheckHoldExist(id, libCard),
                CurrentHolds                 = currentHolds,
                IsLogin                      = isLogin
            };
            string msg = "";

            msg += _checkouts.CheckHoldExist(id, libCard);
            return(View(model));
            //msg += libCard;
            //return Content(msg);
        }
コード例 #2
0
ファイル: CatalogController.cs プロジェクト: mnngocc/Library
        public IActionResult PlaceCheckout(int assetId, int libraryCardId)
        {
            if (_checkouts.CheckHoldExist(assetId, libraryCardId) || _checkouts.CheckLibraryCardId(libraryCardId))
            {
                ViewBag.error = "Invalid";
                var asset = _assets.Get(assetId);

                var model = new CheckoutModel
                {
                    AssetId       = assetId,
                    ImageUrl      = asset.ImageUrl,
                    Title         = asset.Title,
                    LibraryCardId = "",
                    HoldCount     = _checkouts.GetCurrentHold(assetId).Count()
                };
                return(View("Checkout", model));
            }
            _checkouts.CheckoutItem(assetId, libraryCardId);
            return(RedirectToAction("Detail", new { id = assetId }));
        }