public async Task <IActionResult> GetSpaardoel([FromRoute] int id) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Spaardoel spaardoel = await _context.Spaardoel .Where(r => r.Id == id) .Include(r => r.SpaardoelLabels) .ThenInclude(rl => rl.Label) .FirstOrDefaultAsync(); if (spaardoel == null) { return(NotFound()); } SpaardoelViewModel spaardoelVM = new SpaardoelViewModel { Id = spaardoel.Id, Percentage = spaardoel.Percentage, Eindbedrag = spaardoel.Eindbedrag, EersteMaand = spaardoel.EersteMaand, LaatsteMaand = spaardoel.LaatsteMaand, Omschrijving = spaardoel.Omschrijving, Label = toLabelViewModelList(spaardoel.SpaardoelLabels) }; return(Ok(spaardoelVM)); }
private SpaardoelLabel nieuwSpaardoelLabel(Spaardoel spaardoel, Label label) { return(new SpaardoelLabel { Spaardoel = spaardoel, Label = label, SpaardoelId = spaardoel.Id, LabelId = label.Id }); }
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)); }