Beispiel #1
0
        public async Task <IActionResult> Create([Bind("Id,Begin_datum,Eind_datum,Prijs_per_deelnemer,Reis")] Reis_uitvoeringModel reis_uitvoering, int[] checks)
        {
            if (ModelState.IsValid)
            {
                List <Excursie> exList = new List <Excursie>();
                foreach (var c in checks)
                {
                    var excursie = await(from e in _context.Excursie
                                         where e.Id == c
                                         select e).FirstOrDefaultAsync();
                    exList.Add(excursie);
                }
                _context.Add(reis_uitvoering);
                _context.SaveChanges();
                var ruId = _context.Reis_uitvoering.Last().Id;

                foreach (var ex in exList)
                {
                    if (ex.Datum > reis_uitvoering.Begin_datum && ex.Datum < reis_uitvoering.Eind_datum)
                    {
                        var excursie_reis = new Excursie_reis_uitvoering {
                            Excursie        = ex.Id,
                            Reis_uitvoering = ruId
                        };
                        _context.Excursie_reis_uitvoering.Add(excursie_reis);
                        await _context.SaveChangesAsync();
                    }
                    else
                    {
                        var removeExcursion = await(_context.Excursie_reis_uitvoering.Where(r => r.Reis_uitvoering == ruId)).ToListAsync();
                        if (removeExcursion != null)
                        {
                            foreach (var item in removeExcursion)
                            {
                                _context.Excursie_reis_uitvoering.Remove(item);
                            }
                        }

                        var removeReisU = await(_context.Reis_uitvoering.Where(ru => ru.Id == ruId)).FirstOrDefaultAsync();
                        _context.Reis_uitvoering.Remove(removeReisU);
                        await _context.SaveChangesAsync();

                        return(RedirectToAction(nameof(CreateError)));
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(reis_uitvoering));
        }
Beispiel #2
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Begin_datum,Eind_datum,Prijs_per_deelnemer,Reis")] Reis_uitvoering reis_uitvoering, int[] checks)
        {
            if (id != reis_uitvoering.Id)
            {
                return(NotFound());
            }
            if (ModelState.IsValid)
            {
                try {
                    _context.Update(reis_uitvoering);
                    _context.SaveChanges();

                    var eru = await(from eruc in _context.Excursie_reis_uitvoering
                                    where eruc.Reis_uitvoering == id
                                    select eruc).ToListAsync();

                    foreach (var euitvoering in eru)
                    {
                        _context.Excursie_reis_uitvoering.Remove(euitvoering);
                        _context.SaveChanges();
                    }

                    foreach (var item in checks)
                    {
                        var excursie_reis = new Excursie_reis_uitvoering {
                            Excursie        = item,
                            Reis_uitvoering = id
                        };
                        _context.Excursie_reis_uitvoering.Add(excursie_reis);
                        await _context.SaveChangesAsync();
                    }
                    ;
                }
                catch (DbUpdateConcurrencyException) {
                    if (!Reis_uitvoeringExists(reis_uitvoering.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(reis_uitvoering));
        }