Пример #1
0
        public async Task <IActionResult> Index(int?maand)
        {
            if (!maand.HasValue)
            {
                maand = DateTime.Today.Month;
            }
            IEnumerable <Sessie> sessies;

            ViewData["maand"]       = maand;
            ViewData["maandString"] = new CultureInfo("nl-BE").DateTimeFormat.GetMonthName(maand.Value).ToFirstCharUpper();

            if (!User.Identity.IsAuthenticated || User.IsInRole("gebruiker"))
            {
                sessies = _sessieRepository.GetAangemaakteSessies(maand.Value);
            }
            else if (User.IsInRole("verantwoordelijke"))
            {
                IdentityUser user = await _userManager.GetUserAsync(User);

                sessies = _sessieRepository.GetByVerantwoordelijke(maand.Value, _gebruikerRepository.GetByEmail(user.Email));
            }
            else
            {
                sessies = _sessieRepository.GetByMonth(maand.Value);
            }

            if (sessies.Count() == 0)
            {
                TempData["sessieError"] = "Er werden geen sessies gevonden";
                return(View(null));
            }
            return(View(sessies));
        }
        public ActionResult <Gebruiker> GetGebruiker(string email)
        {
            Gebruiker gebruiker = _gebruikerRepository.GetByEmail(email);

            if (gebruiker == null)
            {
                return(NotFound());
            }
            return(gebruiker);
        }
        public async Task <ActionResult <string> > CreateToken(LoginDTO model)
        {
            var user = _gebruikerRepository.GetByEmail(model.Email);

            if (user != null)
            {
                var result = await _signInManager.CheckPasswordSignInAsync(user, model.Password, false);

                var claims = await _signInManager.UserManager.GetClaimsAsync(user);

                if (result.Succeeded)
                {
                    string token = GetToken(user, claims);
                    return(Created("", new { token, user })); //returns only the token
                }
                else
                {
                    return(BadRequest("wachtwoordOnjuist"));
                }
            }
            else
            {
                return(BadRequest("emailOnjuist"));
            }
        }
Пример #4
0
        public async Task <IActionResult> VoegAdminToe(VoegAdminToeViewModel vam)
        {
            if (ModelState.IsValid)
            {
                var g = _gebruikerRepository.GetByEmail(vam.Email);
                if (g != null)
                {
                    var claimsUser = await _userManager.GetClaimsAsync(g);

                    var isAdmin = claimsUser.FirstOrDefault(c => c.Value == "admin") != null;
                    if (!isAdmin)
                    {
                        await _userManager.AddClaimAsync(g, new Claim(ClaimTypes.Role, "admin"));

                        return(RedirectToAction(nameof(Index)));
                    }
                    ModelState.AddModelError("GebruikerAlAdmin", "Deze gebruiker is al Admin");
                    TempData["error"] = "Deze gebruiker is al Admin";
                    return(View(vam));
                }
                ModelState.AddModelError("GebruikerNull", "Deze gebruiker zit niet in het systeem");
                TempData["error"] = "Deze gebruiker zit niet in het systeem";
                return(View(vam));
            }
            TempData["error"] = "Er ging iets mis, contacteer Wim";
            return(View(vam));
        }
Пример #5
0
 public override void OnActionExecuting(ActionExecutingContext context)
 {
     if (context.HttpContext.User.Identity.IsAuthenticated)
     {
         _gebruiker = _gebruikerRepository.GetByEmail(context.HttpContext.User.Identity.Name);
     }
     context.ActionArguments["gebruiker"] = _gebruiker;
     base.OnActionExecuting(context);
 }
        public ActionResult <CommentaarDTO> PostCommentaar(CommentaarDTO commentaardto)
        {
            Gebruiker  huidigeGebruiker = _gebruikerRepository.GetByEmail(User.Identity.Name);
            Commentaar commentaar       = new Commentaar(commentaardto.Tekst, commentaardto.CommentaarType, commentaardto.Datum, huidigeGebruiker.Id);

            _commentaarRepository.Add(commentaar);
            _commentaarRepository.SaveChanges();
            return(Ok());
        }
Пример #7
0
        public ActionResult <GebruikerItem> ScanItem(string id)
        {
            GebruikerItem gi;
            Gebruiker     huidigeGebruiker = _gebruikerRepository.GetByEmail(User.Identity.Name);

            //Gebruiker huidigeGebruiker = _gebruikerRepository.GetByEmail("*****@*****.**");
            if (huidigeGebruiker == null)
            {
                return(NotFound("gebruikerMetIdNietGevonden"));
            }
            var item = _itemRepository.GetBy(id);

            if (item == null)
            {
                return(NotFound("itemMetIdNietGevonden"));
            }
            if (item.Beschikbaar)
            {
                gi         = new GebruikerItem(huidigeGebruiker, item);
                gi.TerugOp = null;
                _gebruikerItemRepository.Add(gi);
                huidigeGebruiker.GebruikerItems.Add(gi);
                _gebruikerRepository.Update(huidigeGebruiker);
                item.GebruikerItems.Add(gi);
            }
            else
            {
                gi = _gebruikerItemRepository.vindOpenStaandeLeningMetItemId(id);
                if (gi == null)
                {
                    return(NotFound());
                }
                gi.TerugOp = DateTime.Now;
                _gebruikerItemRepository.Update(gi);
            }
            item.Beschikbaar = !item.Beschikbaar;
            _itemRepository.Update(item);
            _itemRepository.SaveChanges();
            return(gi);
        }
Пример #8
0
        // [ServiceFilter(typeof(KlantFilter))]
        // [Authorize]
        public IViewComponentResult Invoke()
        {
            // Ref: https://www.chartjs.org/docs/latest/

            Klant klant = (Klant)_klantenRepo.GetByEmail(HttpContext.User.Identity.Name);



            string[] dataLabels2 = new string[6];
            int[]    data        = { 0, 0, 0, 0, 0, 0 };
            DateTime date        = DateTime.Today;
            DateTime date2;

            for (int i = 5; i >= 0; i--)
            {
                date2          = date.AddDays(-7);
                dataLabels2[i] = string.Format("{0:dd/MM/yy}", date2) + "-" + string.Format("{0:dd/MM/yy}", date);
                foreach (Contract c in klant.Contracten)
                {
                    foreach (Ticket t in c.Tickets)
                    {
                        if (t.AanmaakDatum <= date)
                        {
                            if (t.DatumAfgewerkt.Equals(null) || t.DatumAfgewerkt >= date2)
                            {
                                data[i] += 1;
                            }
                        }
                    }
                }

                date = date2.AddDays(-1);
            }

            string[] backgroundColor =
            {
                "rgba(204, 214, 12, 0.2)",
                "rgba(204, 214, 12, 0.2)",
                "rgba(204, 214, 12, 0.2)",
                "rgba(204, 214, 12, 0.2)",
                "rgba(204, 214, 12, 0.2)",
                "rgba(204, 214, 12, 0.2)"
            };

            Dataset dataset = new Dataset {
                label = "Actieve tickets", data = data, borderWidth = 1, backgroundColor = backgroundColor
            };

            Dataset[] datasets = { dataset };


            ChartJs Chart = new ChartJs
            {
                type       = "line",
                responsive = true,
                data       = new Models.Chart.Data
                {
                    labels   = dataLabels2,
                    datasets = datasets
                },
            };

            var chartModel = new ChartJsViewModel
            {
                Chart     = Chart,
                ChartJson = JsonConvert.SerializeObject(Chart, new JsonSerializerSettings
                {
                    NullValueHandling = NullValueHandling.Ignore,
                })
            };

            return(View(chartModel));
        }
Пример #9
0
 public override void OnActionExecuting(ActionExecutingContext context)
 {
     context.ActionArguments["klant"] = context.HttpContext.User.Identity.IsAuthenticated ? _klantenRepo.GetByEmail(context.HttpContext.User.Identity.Name) : null;
     base.OnActionExecuting(context);
 }