Пример #1
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Titel,Omschrijving,StartDatum,EindDatum,LinkVoorbeeldKlant,LinkVoorbeeldBehandelaar,StatusId,UserId,IsVraag")] Aanvraag aanvraag)
        {
            if (id != aanvraag.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(aanvraag);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!AanvraagExists(aanvraag.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(aanvraag));
        }
Пример #2
0
        public async Task <IActionResult> Create(Aanvraag aanvraag)
        {
            if (ModelState.IsValid)
            {
                _context.Add(aanvraag);
                await _context.SaveChangesAsync();

                if (IsIndex)
                {
                    return(RedirectToAction(nameof(Index)));
                }
                else if (IsIndexallaanvragen)
                {
                    return(RedirectToAction(nameof(IndexAllAanvragen)));
                }
                else if (IsIndexToegewezen)
                {
                    return(RedirectToAction(nameof(IndexToegewezen)));
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["UserId"]   = new SelectList(_context.Users, "Id", "Id", aanvraag.UserId);
            ViewData["StatusId"] = new SelectList(_context.Statussen, "Id", "Id", aanvraag.StatusId);
            return(View(aanvraag));
        }
        public async Task <IActionResult> EditToegewezen(int id, Aanvraag aanvraag)
        {
            if (id != aanvraag.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(aanvraag);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!AanvraagExists(aanvraag.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(IndexToegewezen)));
            }
            ViewData["UserId"]   = new SelectList(_context.Users, "Id", "Id", aanvraag.UserId);
            ViewData["StatusId"] = new SelectList(_context.Statussen, "Id", "Id", aanvraag.StatusId);
            return(View(aanvraag));
        }
Пример #4
0
        public async Task <IActionResult> Create(Aanvraag aanvraag)
        {
            if (ModelState.IsValid)
            {
                _context.Add(aanvraag);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index), new { userId = aanvraag.UserId }));
            }
            return(View(aanvraag));
        }
Пример #5
0
        public static async Task Aanvragen(ApplicationDbContext context, IServiceProvider serviceProvider)
        {
            await context.Database.EnsureCreatedAsync();

            var RoleManager = serviceProvider.GetRequiredService <RoleManager <IdentityRole> >();
            var UserManager = serviceProvider.GetRequiredService <UserManager <ApplicationUser> >();

            if (!context.Aanvragen.Any())
            {
                var Aanvragen = new Aanvraag[]
                {
                    new Aanvraag {
                        ApplicationUser            = UserManager.Users.Single(s => s.Voornaam.Equals("Koen")),
                        Titel                      = "Niewe saus",
                        BehandelaarApplicationUser = UserManager.Users.Single(s => s.Voornaam.Equals("Felix")),
                        StartDatum                 = new DateTime(2018, 08, 20), EindDatum = new DateTime(2018, 10, 20),
                        StatusId                   = 3, LinkVoorbeeldKlant = "www.niewesaus.be", LinkVoorbeeldBehandelaar = "www.voorbeeldsaus.be",
                        Omschrijving               = "we hebben een nieuwe saus ontwikkelt in ons assortiment en zouden dit graat laten zien op een signage schermen.",
                        Aanmaakdatum               = DateTime.Now
                    },

                    new Aanvraag {
                        ApplicationUser = UserManager.Users.Single(s => s.Voornaam.Equals("Koen")), Titel = "Promotie op Pita saus",
                        StartDatum      = new DateTime(2018, 10, 01), EindDatum = new DateTime(2019, 02, 01), StatusId = 1, LinkVoorbeeldKlant = "www.pitasaus.be",
                        Omschrijving    = "voor onze promotie op onze pita saus willen we graag extra content.", Aanmaakdatum = DateTime.Now.AddDays(20)
                    },

                    new Aanvraag {
                        ApplicationUser = UserManager.Users.Single(s => s.Voornaam.Equals("pieter")), Titel = "Wintercollectie", BehandelaarApplicationUser = UserManager.Users.Single(s => s.Voornaam.Equals("Felix")),
                        StartDatum      = new DateTime(2018, 07, 20), EindDatum = new DateTime(2019, 02, 20), StatusId = 2, LinkVoorbeeldKlant = "www.wintercollectietorfs.be", LinkVoorbeeldBehandelaar = "www.wintercollectiefinal.be",
                        Omschrijving    = "er komt een wintercollectie aan die we in de kijker willen zetten, kijk link voor welke", Aanmaakdatum = DateTime.Now.AddDays(10)
                    },

                    new Aanvraag {
                        ApplicationUser = UserManager.Users.Single(s => s.Voornaam.Equals("pieter")), Titel = "Niewe mannenmode", BehandelaarApplicationUser = UserManager.Users.Single(s => s.Voornaam.Equals("Felix")),
                        StartDatum      = new DateTime(2018, 05, 10), EindDatum = new DateTime(2018, 10, 20), StatusId = 4, LinkVoorbeeldKlant = "www.mannenmodetorfs.be", LinkVoorbeeldBehandelaar = "www.mannenmodevoorbeeld.be",
                        Omschrijving    = "onze mannamode collectie is vernieuwe en willen we in de kijker zetten", Aanmaakdatum = DateTime.Now.AddDays(12)
                    },
                };
                foreach (Aanvraag s in Aanvragen)
                {
                    context.Aanvragen.Add(s);
                }
            }
            await context.SaveChangesAsync();
        }
Пример #6
0
        public async Task <IActionResult> Create(Aanvraag aanvraag)
        {
            var userId = this.User.FindFirstValue(ClaimTypes.NameIdentifier);
            var user   = await _userManager.FindByIdAsync(userId);

            var status = await _context.Statussen.Where(s => s.Id.Equals(aanvraag.StatusId)).FirstOrDefaultAsync();


            if (ModelState.IsValid)
            {
                var aanmaak = new AanvraagGeschiedenis
                {
                    AanvraagId = aanvraag.Id,
                    Aanvraag   = aanvraag,
                    Actie      = "Aanmaak van de aanvraag",
                    time       = DateTime.Now,
                    Voornaam   = user.Voornaam,
                    Achternaam = user.Achternaam,
                    Status     = status.Naam
                };

                _context.AanvraagGeschiedenis.Add(aanmaak);
                _context.Add(aanvraag);
                await _context.SaveChangesAsync();

                await _emailSender.SendEmailAsync(user.Email, "Aanmaak Gelukt", $"Het aanmaken van de aanvraag:  " + aanvraag.Titel + " is gelukt.");


                if (IsIndex)
                {
                    return(RedirectToAction(nameof(Index)));
                }
                else if (IsIndexallaanvragen)
                {
                    return(RedirectToAction(nameof(IndexAllAanvragen)));
                }
                else if (IsIndexToegewezen)
                {
                    return(RedirectToAction(nameof(IndexToegewezen)));
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["UserId"]   = new SelectList(_context.Users, "Id", "Id", aanvraag.UserId);
            ViewData["StatusId"] = new SelectList(_context.Statussen, "Id", "Id", aanvraag.StatusId);
            return(View(aanvraag));
        }
Пример #7
0
        public async Task <IActionResult> OnGetAsync(int id)
        {
            Aanvraag = await Context.Aanvragen.FirstOrDefaultAsync(
                m => m.AanvraagID == id);

            if (Aanvraag == null)
            {
                return(NotFound());
            }

            var isAuthorized = await AuthorizationService.AuthorizeAsync(
                User, Aanvraag,
                AanvraagOperations.Update);

            if (!isAuthorized.Succeeded)
            {
                return(Forbid());
            }

            return(Page());
        }
Пример #8
0
        // GET: Aanvraags/Create
        public IActionResult Create(bool isVraag, string UserId, bool index, bool isAlles, bool isToegezen)
        {
            //ViewBag.index = index;
            //ViewBag.isAlles = isAlles;
            //ViewBag.isToegezen = isToegezen;
            Aanvraag aanvraag;

            if (UserId == null)
            {
                UserId = this.User.FindFirstValue(ClaimTypes.NameIdentifier);
            }

            aanvraag = new Aanvraag
            {
                IsVraag = true,
                UserId  = UserId
            };
            //ViewData["UserId"] = new SelectList(_context.Users, "Id", "Voornaam");
            //ViewData["StatusId"] = new SelectList(_context.Statussen, "Id", "Naam");
            return(View(aanvraag));
        }
Пример #9
0
        // GET: Aanvraags/Create
        public IActionResult Create(string userId, bool isVraag)
        {
            Aanvraag aanvraag;

            if (isVraag == true)
            {
                aanvraag = new Aanvraag
                {
                    IsVraag = true,
                    UserId  = userId
                };
            }
            else
            {
                aanvraag = new Aanvraag
                {
                    UserId = userId
                };
            }

            return(View(aanvraag));
        }
Пример #10
0
        public async Task <IActionResult> OnGetAsync(int id)
        {
            Aanvraag = await Context.Aanvragen.FirstOrDefaultAsync(m => m.AanvraagID == id);

            if (Aanvraag == null)
            {
                return(NotFound());
            }

            var isAuthorized = User.IsInRole(Constants.AanvraagManagersRole) ||
                               User.IsInRole(Constants.AanvraagAdministratorsRole);

            var currentUserId = UserManager.GetUserId(User);

            if (!isAuthorized &&
                currentUserId != Aanvraag.OwnerID &&
                Aanvraag.Status != STATUS.goedgekeurd)
            {
                return(Forbid());
            }

            return(Page());
        }
Пример #11
0
        public async Task <IActionResult> Edit(int id, Aanvraag aanvraag, bool index, bool isAlles, bool isToegezen)
        {
            var user = await _userManager.FindByIdAsync(aanvraag.UserId);

            //lijstvanbehandelaarsvanaanvraag
            var lijstbehandelaarsAanvraag = await _context.AanvraagBehandelaars.Include(x => x.Behandelaar).ToListAsync();

            // var result = _context.AanvraagBehandelaars.Where(x => x.Behandelaar);

            //ingelogde user
            var userId        = this.User.FindFirstValue(ClaimTypes.NameIdentifier);
            var ingelogdeUser = await _userManager.FindByIdAsync(userId);

            //load related data
            var status = await _context.Statussen.Where(s => s.Id.Equals(aanvraag.StatusId)).FirstOrDefaultAsync();


            if (id != aanvraag.Id)
            {
                return(NotFound());
            }
            if (ModelState.IsValid)
            {
                try
                {
                    //aanmaak van history data
                    var aanmaak = new AanvraagGeschiedenis
                    {
                        AanvraagId = aanvraag.Id,
                        Aanvraag   = aanvraag,
                        Actie      = "Aanpassen van details van de aanvraag",
                        time       = DateTime.Now,
                        Voornaam   = ingelogdeUser.Voornaam,
                        Achternaam = ingelogdeUser.Achternaam,
                        Status     = status.Naam
                    };

                    //toevoegen van data aan table
                    _context.AanvraagGeschiedenis.Add(aanmaak);
                    //update van table zelf

                    _context.Update(aanvraag);
                    await _context.SaveChangesAsync();

                    await _emailSender.SendEmailAsync(user.Email, "Verandering aan je aanvraag", $"Er is een aanpassing gebeurt aan de aanvraag " + aanvraag.Titel + ",om de veranderingen te bekijken gelieve in te loggen.");

                    //if (aanvraag.AanvraagBehandelaars.Any())
                    //{ }
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!AanvraagExists(aanvraag.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                if (index)
                {
                    return(RedirectToAction(nameof(Index)));
                }
                else if (isAlles)
                {
                    return(RedirectToAction(nameof(IndexAllAanvragen)));
                }
                else if (isToegezen)
                {
                    return(RedirectToAction(nameof(IndexToegewezen)));
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["UserId"]   = new SelectList(_context.Users, "Id", "Id", aanvraag.UserId);
            ViewData["StatusId"] = new SelectList(_context.Statussen, "Id", "Id", aanvraag.StatusId);

            return(View(aanvraag));
        }
Пример #12
0
        public async Task <IActionResult> AddBehandelaar(int id, Aanvraag aanvraag, bool index, bool isAlles, bool isToegezen)
        {
            //om behandelaar te krijgen die aan de tussentabel moet gekoppelt worden
            var behandelaar = await _userManager.FindByIdAsync(aanvraag.BehandelaarId);

            //om email te verkrijgen van de aanvraag gebruiker
            var user = await _userManager.FindByIdAsync(aanvraag.UserId);

            //ingelogde user
            var userId        = this.User.FindFirstValue(ClaimTypes.NameIdentifier);
            var ingelogdeUser = await _userManager.FindByIdAsync(userId);

            var status = await _context.Statussen.Where(s => s.Id.Equals(aanvraag.StatusId)).FirstOrDefaultAsync();



            var aanvraagbehandelaar = new AanvraagBehandelaar
            {
                AanvraagId    = id,
                Aanvraag      = aanvraag,
                BehandelaarId = aanvraag.BehandelaarId,
                Behandelaar   = behandelaar
            };

            if (id != aanvraag.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    var aanmaak = new AanvraagGeschiedenis
                    {
                        AanvraagId = aanvraag.Id,
                        Aanvraag   = aanvraag,
                        Actie      = "Toevoegen van behandelaar " + aanvraagbehandelaar.Behandelaar.Voornaam + " " + aanvraagbehandelaar.Behandelaar.Achternaam,
                        time       = DateTime.Now,
                        Voornaam   = ingelogdeUser.Voornaam,
                        Achternaam = ingelogdeUser.Achternaam,
                        Status     = status.Naam
                    };
                    _context.AanvraagGeschiedenis.Add(aanmaak);


                    await _context.AanvraagBehandelaars.AddAsync(aanvraagbehandelaar);

                    _context.Update(aanvraag);
                    await _context.SaveChangesAsync();

                    await _emailSender.SendEmailAsync(user.Email, "Verandering aan je aanvraag", $"Er is een nieuwe behandelaar aan je aanvraag gehangen. " + aanvraagbehandelaar.Behandelaar.Voornaam + " " + aanvraagbehandelaar.Behandelaar.Achternaam + " zal nu meewerken aan een oplossing voor de aanvraag: " + aanvraag.Titel);

                    await _emailSender.SendEmailAsync(aanvraagbehandelaar.Behandelaar.Email, "Niewe toegewezen aanvraag" + aanmaak.Aanvraag.Titel, $"Je ben toegevoegd aan een de aanvraag " + aanmaak.Aanvraag.Titel + ", log in om meer details te bekijken");
                }
                catch (Exception)
                {
                    throw;
                }
                if (index)
                {
                    return(RedirectToAction(nameof(Index)));
                }
                else if (isAlles)
                {
                    return(RedirectToAction(nameof(IndexAllAanvragen)));
                }
                else if (isToegezen)
                {
                    return(RedirectToAction(nameof(IndexToegewezen)));
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(aanvraag));
        }