Example #1
0
        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());
        }
Example #2
0
        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));
        }
Example #3
0
        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}"));
        }