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