예제 #1
0
        public async Task <ActionResult <Nhomsach> > PostNhomsach(Nhomsach nhomsach)
        {
            nhomsach.Soluongcon = nhomsach.Soluong;
            _context.Nhomsach.Add(nhomsach);
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateException)
            {
                if (NhomsachExists(nhomsach.Manhomsach))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }
            for (int i = 0; i < nhomsach.Soluong; i++)
            {
                Sach _sach = new Sach();
                _sach.Masach        = (string)nhomsach.Manhomsach + i;
                _sach.Manhomsach    = nhomsach.Manhomsach;
                _sach.Tinhtrangsach = true;
                _context.Sach.Add(_sach);
            }
            await _context.SaveChangesAsync();

            return(Ok());
            //return CreatedAtAction("GetNhomsach", new { id = nhomsach.Manhomsach }, nhomsach);
        }
예제 #2
0
        public async Task <IActionResult> PutNhomsach(string id, Nhomsach nhomsach)
        {
            if (id != nhomsach.Manhomsach)
            {
                return(BadRequest());
            }
            if (nhomsach.Soluong < nhomsach.Soluongcon)
            {
                return(BadRequest());
            }
            //tang so luong sach cua nhom sach (nhomsach.soluong)
            var nhomsachCu = await _context.Nhomsach.FindAsync(nhomsach.Manhomsach);

            if (nhomsach.Soluong > nhomsachCu.Soluong)
            {
                var j = nhomsach.Soluong;
                for (int i = nhomsachCu.Soluong; i < j; i++)
                {
                    if (_context.Sach.Any(e => e.Masach == (nhomsach.Manhomsach + i)))
                    {
                        j++;
                        continue;
                    }

                    Sach _sach = new Sach();
                    _sach.Masach        = (string)nhomsach.Manhomsach + i;
                    _sach.Manhomsach    = nhomsach.Manhomsach;
                    _sach.Tinhtrangsach = true;
                    _context.Sach.Add(_sach);
                }
                nhomsach.Soluongcon = nhomsachCu.Soluongcon + (nhomsach.Soluong - nhomsachCu.Soluong);
            }

            _context.Entry(nhomsachCu).State = EntityState.Detached;
            _context.Entry(nhomsach).State   = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!NhomsachExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }