Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
 private LeningLabel nieuwLeningLabel(Lening lening, Label label)
 {
     return(new LeningLabel
     {
         Lening = lening,
         Label = label,
         LeningId = lening.Id,
         LabelId = label.Id
     });
 }
Exemplo n.º 3
0
        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());
        }