public async Task <IActionResult> PostReservering([FromBody] ReserveringPostModel reserveringPM) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Reservering reservering = new Reservering { Id = reserveringPM.Id, Bedrag = reserveringPM.Bedrag, Maand = reserveringPM.Maand, Omschrijving = reserveringPM.Omschrijving, LaatstGewijzigd = DateTime.Now, ReserveringLabels = new List <ReserveringLabel>() }; foreach (var newLabelId in reserveringPM.Label) { Label label = _context.Label.Where(l => l.Id == newLabelId).First(); reservering.ReserveringLabels.Add ( nieuwReserveringLabel(reservering, label) ); } _context.Reservering.Add(reservering); await _context.SaveChangesAsync(); return(CreatedAtAction("GetReservering", new { id = reservering.Id }, reservering)); }
public async Task <IActionResult> PutReservering([FromRoute] int id, [FromBody] ReserveringPostModel reserveringPM) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != reserveringPM.Id) { return(BadRequest()); } Reservering reservering = _context.Reservering.Where(r => r.Id == id).Include(r => r.ReserveringLabels).First(); reservering.Bedrag = reserveringPM.Bedrag; reservering.Maand = reserveringPM.Maand; reservering.Omschrijving = reserveringPM.Omschrijving; reservering.LaatstGewijzigd = DateTime.Now; reservering.ReserveringLabels.Clear(); foreach (var newLabelId in reserveringPM.Label) { Label label = _context.Label.Where(l => l.Id == newLabelId).First(); reservering.ReserveringLabels.Add ( nieuwReserveringLabel(reservering, label) ); } _context.Entry(reservering).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ReserveringExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }