コード例 #1
0
        public async Task <IActionResult> Edit(int id, [Bind("ID,ReaderID,BookID,DateOfIssuance,DateOfReturn,Return")] Issuence issuence)
        {
            if (id != issuence.ID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(issuence);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!IssuenceExists(issuence.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["BookID"]   = new SelectList(_context.Book, "ID", "Name", issuence.BookID);
            ViewData["ReaderID"] = new SelectList(_context.Reader, "ID", "FullName", issuence.ReaderID);
            return(View(issuence));
        }
コード例 #2
0
        public IActionResult Third()
        {
            if (HttpContext.Session.Get("third") != null)
            {
                string   str      = HttpContext.Session.GetString("third");
                string[] strM     = str.Split(";");
                Issuence issuence = new Issuence();

                issuence.BookID         = Convert.ToInt32(strM[0]);
                issuence.ReaderID       = Convert.ToInt32(strM[1]);
                issuence.DateOfIssuance = Convert.ToDateTime(strM[2]);
                issuence.Return         = Convert.ToBoolean(strM[3]);
                ViewData["third"]       = issuence;
            }
            string   path = Request.Path.Value.ToLower();
            Issuence IssuenceFromMemory = (Issuence)_memoryCache.Get(path);

            using (LibraryContext db = new LibraryContext())
            {
                var elems = db.Issuances.Include(x => x.Reader)
                            .Include(bx => bx.Book);
                ViewData["Readers"]            = db.Readers.ToList();
                ViewData["Books"]              = db.Books.ToList();
                ViewData["IssuenceFromMemory"] = IssuenceFromMemory;
                return(View(elems.ToList()));
            }
        }
コード例 #3
0
        public IActionResult Delete(int id)
        {
            Issuence issuence = db.Issuances.FirstOrDefault(x => x.ID == id);

            if (issuence == null)
            {
                return(NotFound());
            }
            db.Issuances.Remove(issuence);
            db.SaveChanges();
            return(Ok(issuence));
        }
コード例 #4
0
        public async Task <IActionResult> Create([Bind("ID,ReaderID,BookID,DateOfIssuance,DateOfReturn,Return")] Issuence issuence)
        {
            if (ModelState.IsValid)
            {
                _context.Add(issuence);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["BookID"]   = new SelectList(_context.Book, "ID", "Name", issuence.BookID);
            ViewData["ReaderID"] = new SelectList(_context.Reader, "ID", "FullName", issuence.ReaderID);
            return(View(issuence));
        }
コード例 #5
0
 public IActionResult AddNewItemIssuence(Issuence issuence, int ReaderID, int BookID)
 {
     using (LibraryContext db = new LibraryContext())
     {
         issuence.ReaderID = ReaderID;
         issuence.BookID   = BookID;
         db.Issuances.Add(issuence);
         db.SaveChanges();
         string str = issuence.BookID + ";" + issuence.ReaderID + ";" + issuence.DateOfIssuance + ";" + issuence.Return;
         HttpContext.Session.SetString("third", str);
     }
     return(Redirect("~/Home/Third"));
 }
コード例 #6
0
        public IActionResult Put([FromBody] Issuence issuence)
        {
            if (!db.Issuances.Any(x => x.ID == issuence.ID))
            {
                ModelState.AddModelError("", "Не существует такой записи");
                return(BadRequest(ModelState));
            }

            if (issuence.DateOfIssuance < issuence.DateOfReturn)
            {
                ModelState.AddModelError("dateOfReturn", "Дата возврата предшествует дате выдачи!");
            }

            if (issuence.DateOfIssuance > DateTime.Today || issuence.DateOfIssuance < DateTime.Parse("2000-01-01"))
            {
                ModelState.AddModelError("dateOfIssuance", "Невозможная дата выдачи!");
            }

            if (issuence.Return != true && issuence.Return != false)
            {
                ModelState.AddModelError("return", "Укажите была ли книга возвращена(true/false)");
            }

            if (issuence == null)
            {
                ModelState.AddModelError("", "Не определено");
                return(BadRequest(ModelState));
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }


            db.Update(issuence);
            db.SaveChanges();
            var elem = db.Issuances
                       .Include(x => x.Book)
                       .Include(x => x.Reader)
                       .FirstOrDefault(x => x.ID == issuence.ID);

            return(Ok(elem));
        }