public async Task <IActionResult> PutBoklån(int id, Boklån boklån) { if (id != boklån.BoklånId) { return(BadRequest()); } _context.Entry(boklån).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!BoklånExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <ActionResult <Boklån> > PostBoklån(Boklån boklån) { boklån.LåneDatum = DateTime.Now; boklån.ReturDatum = DateTime.Now.AddDays(1); _context.Boklåns.Add(boklån); await _context.SaveChangesAsync(); return(CreatedAtAction("GetBoklån", new { id = boklån.BoklånId }, boklån)); }
public async Task <ActionResult <Låntagare> > HyrBok(int lånekortId, int bokId) { var lånetagare = await _context.Låntagares .SingleOrDefaultAsync(c => c.LånekortId == lånekortId); if (lånetagare == null) { return(BadRequest("Lånetagare existerar inte!")); } var saldo = await _context.Saldo .Include(i => i.Bok) .Include(i => i.Boklåns) .Where(i => i.BokId == bokId) .ToListAsync(); var tillgängligSaldo = saldo.FirstOrDefault(i => i.Tillgänglig); if (tillgängligSaldo == null) { return(BadRequest("Boken är inte tillgänlig!")); } var boklån = new Boklån() { LånekortId = lånekortId, SaldoId = tillgängligSaldo.SaldoId, LåneDatum = DateTime.Now, ReturDatum = DateTime.Now.AddDays(1) }; _context.Boklåns.Add(boklån); await _context.SaveChangesAsync(); return(Ok($"Lånetagare {lånetagare.Förnamn} har hyrt {tillgängligSaldo.Bok.BokTitel} klockan {boklån.LåneDatum}")); }