public async Task <IActionResult> PostLening([FromBody] LeningPostModel leningPM) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Lening lening = new Lening() { LaatstGewijzigd = DateTime.Now, Bedrag = leningPM.Bedrag, Begindatum = leningPM.Begindatum, Looptijd = leningPM.Looptijd, Rente = leningPM.Rente / 100, Type = leningPM.Type, Document = leningPM.Document, DocumentNaam = leningPM.DocumentNaam, LeningLabels = new List <LeningLabel>() }; foreach (var newLabelId in leningPM.Label) { Label label = _context.Label.Where(l => l.Id == newLabelId).First(); lening.LeningLabels.Add ( nieuwLeningLabel(lening, label) ); } _context.Lening.Add(lening); await _context.SaveChangesAsync(); return(CreatedAtAction("GetLening", new { id = lening.Id }, lening)); }
private LeningLabel nieuwLeningLabel(Lening lening, Label label) { return(new LeningLabel { Lening = lening, Label = label, LeningId = lening.Id, LabelId = label.Id }); }
public async Task <IActionResult> PutLening([FromRoute] int id, [FromBody] LeningPostModel leningPM) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != leningPM.Id) { return(BadRequest()); } Lening lening = _context.Lening.Where(a => a.Id == id).Include(a => a.LeningLabels).First(); lening.LaatstGewijzigd = DateTime.Now; lening.Bedrag = leningPM.Bedrag; lening.Begindatum = leningPM.Begindatum; lening.Looptijd = leningPM.Looptijd; lening.Type = leningPM.Type; lening.Rente = leningPM.Rente / 100; lening.Document = leningPM.Document; lening.DocumentNaam = leningPM.DocumentNaam; lening.LeningLabels.Clear(); foreach (var newLabelId in leningPM.Label) { Label label = _context.Label.Where(l => l.Id == newLabelId).First(); lening.LeningLabels.Add ( nieuwLeningLabel(lening, label) ); } _context.Entry(lening).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!LeningExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }