public async Task <IActionResult> PutSpaardoel([FromRoute] int id, [FromBody] SpaardoelPostModel spaardoelPM) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != spaardoelPM.Id) { return(BadRequest()); } Spaardoel spaardoel = _context.Spaardoel.Where(r => r.Id == id).Include(r => r.SpaardoelLabels).First(); spaardoel.Percentage = spaardoelPM.Percentage; spaardoel.Eindbedrag = spaardoelPM.Eindbedrag; spaardoel.EersteMaand = spaardoelPM.EersteMaand; spaardoel.LaatsteMaand = spaardoelPM.LaatsteMaand; spaardoel.Omschrijving = spaardoelPM.Omschrijving; spaardoel.LaatstGewijzigd = DateTime.Now; spaardoel.SpaardoelLabels.Clear(); foreach (var newLabelId in spaardoelPM.Label) { Label label = _context.Label.Where(l => l.Id == newLabelId).First(); spaardoel.SpaardoelLabels.Add ( nieuwSpaardoelLabel(spaardoel, label) ); } _context.Entry(spaardoel).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!SpaardoelExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IActionResult> PostSpaardoel([FromBody] SpaardoelPostModel spaardoelPM) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Spaardoel spaardoel = new Spaardoel { Id = spaardoelPM.Id, Percentage = spaardoelPM.Percentage, Eindbedrag = spaardoelPM.Eindbedrag, EersteMaand = spaardoelPM.EersteMaand, LaatsteMaand = spaardoelPM.LaatsteMaand, Omschrijving = spaardoelPM.Omschrijving, LaatstGewijzigd = DateTime.Now, SpaardoelLabels = new List <SpaardoelLabel>() }; foreach (var newLabelId in spaardoelPM.Label) { Label label = _context.Label.Where(l => l.Id == newLabelId).First(); spaardoel.SpaardoelLabels.Add ( nieuwSpaardoelLabel(spaardoel, label) ); } _context.Spaardoel.Add(spaardoel); await _context.SaveChangesAsync(); Rekening rekening = new Rekening { Id = 0, LaatstGewijzigd = DateTime.Now, Naam = spaardoelPM.Omschrijving, Hoofdrekening = false, Startbedrag = 0, Spaardoel = spaardoel.Id }; _context.Rekening.Add(rekening); await _context.SaveChangesAsync(); return(CreatedAtAction("GetSpaardoel", new { id = spaardoel.Id }, spaardoel)); }