コード例 #1
0
        public async Task <IActionResult> PutDattruoc(string mathe, string masach, Dattruoc dattruoc)
        {
            if (mathe != dattruoc.Mathe)
            {
                return(BadRequest());
            }
            if (masach != dattruoc.Masach)
            {
                return(BadRequest());
            }
            var _dattruocCu = await _context.Dattruoc.FindAsync(mathe, masach);

            dattruoc.Ngaydattruoc = _dattruocCu.Ngaydattruoc;
            //neu da nhan thi tao ra phieu muon
            if (dattruoc.Danhan == true)
            {
                var _sach = await _context.Sach.FindAsync(dattruoc.Masach);

                var _nhomsach = await _context.Nhomsach.FindAsync(_sach.Manhomsach);

                var _theloai = await _context.Theloai.FindAsync(_nhomsach.Matheloai);

                _sach.Damuon = true;

                Phieumuon _phieumuon = new Phieumuon();
                _phieumuon.Mathe      = dattruoc.Mathe;
                _phieumuon.Masach     = dattruoc.Masach;
                _phieumuon.Ngaymuon   = dattruoc.Ngaydattruoc;
                _phieumuon.Ngayhethan = _phieumuon.Ngaymuon.AddDays(_theloai.Songaymuontoida);
                _phieumuon.Giahan     = false;
                _phieumuon.Datra      = false;
                _context.Phieumuon.Add(_phieumuon);
            }
            _context.Entry(_dattruocCu).State = EntityState.Detached;
            _context.Entry(dattruoc).State    = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!DattruocExists(mathe, masach))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
コード例 #2
0
        public async Task <ActionResult <Dattruoc> > PostDattruoc(Dattruoc dattruoc)
        {
            var currentUserID = User.Identity.Name;

            if (dattruoc.Mathe != currentUserID && !User.IsInRole(Role.Admin))
            {
                return(Forbid());
            }
            dattruoc.Ngaydattruoc = DateTime.Now;

            var _user = await _context.User.FindAsync(dattruoc.Mathe);

            var _sach = await _context.Sach.FindAsync(dattruoc.Masach);

            var _nhomsach = await _context.Nhomsach.FindAsync(_sach.Manhomsach);

            if (_sach.Damuon == true || _sach.Tinhtrangsach == false || _user.Sosachdamuon > 6 || _user.Ngayhethan < DateTime.Now)
            {
                return(BadRequest());
            }

            _user.Sosachdamuon++;
            _sach.Damuon = true;
            _nhomsach.Soluongcon--;
            _context.Dattruoc.Add(dattruoc);
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateException)
            {
                if (DattruocExists(dattruoc.Mathe, dattruoc.Masach))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            //return CreatedAtAction("GetDattruoc", new { id = dattruoc.Mathe }, dattruoc);
            return(Ok());
        }