示例#1
0
        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());
        }
示例#2
0
        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));
        }