Exemplo n.º 1
0
        public async Task <ActionResult> EditAsync(string id, [Bind("Guid,Naam,AantalGewonnen,AantalVerloren,AantalGelijk,SpelerRol")] Speler speler)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var user = await _userManager.FindByIdAsync(id);

                    //Haal alle rolen op van gebruiker
                    var roles = await _userManager.GetRolesAsync(user);

                    //Verwijder alle rolen van gebruiker
                    await _userManager.RemoveFromRolesAsync(user, roles.ToArray());

                    //Voeg nieuwe rol toe aan gebruiker
                    await _userManager.AddToRoleAsync(user, speler.SpelerRol);

                    var spelerupdate = await _context.Spelers.FirstOrDefaultAsync(s => s.Guid == speler.Guid);

                    spelerupdate.SpelerRol      = speler.SpelerRol;
                    spelerupdate.AantalVerloren = speler.AantalVerloren;
                    spelerupdate.AantalGewonnen = speler.AantalGewonnen;
                    spelerupdate.AantalGelijk   = speler.AantalGelijk;
                    await _context.SaveChangesAsync();

                    _logger.LogInformation($"Gebruiker {this.User.Identity.Name} heeft de rol van {speler.Naam} aangepast vanaf IP {HttpContext.Connection.RemoteIpAddress} om {DateTime.Now}");
                }
                catch (DbUpdateConcurrencyException)
                {
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(speler));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> Create([Bind("GUID,Naam,AantalGewonnen,AantalVerloren,AantalGelijk")] Speler speler)
        {
            if (ModelState.IsValid)
            {
                _context.Add(speler);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(speler));
        }
        // GET: Spelers
        public async Task <IActionResult> Index()
        {
            //haal alle spelers op en zet alles naar 0
            var spelers = await _context.Spelers.ToListAsync();

            foreach (var speler in spelers)
            {
                speler.AantalGelijk   = 0;
                speler.AantalGewonnen = 0;
                speler.AantalVerloren = 0;
            }
            //haal alle resultaten van het spel op
            string              apiUri          = "api/Spel/AfgelopenSpellen";
            List <Speler>       spelerupdate    = new List <Speler>();
            HttpResponseMessage responseMessage = await _client.GetAsync(apiUri);

            if (responseMessage.IsSuccessStatusCode)
            {
                //Update alle scores
                var responseBody = await responseMessage.Content.ReadAsStringAsync();

                List <Spel> respone = JsonConvert.DeserializeObject <List <Spel> >(responseBody);
                foreach (var spel in respone)
                {
                    if (spel.Winnaar != "Gelijkspel")
                    {
                        var winnaar = spelers.Find(s => s.Guid == spel.Winnaar);
                        if (spel.Winnaar == spel.Speler1Token)
                        {
                            var verliezer = spelers.Find(s => s.Guid == spel.Speler2Token);
                            verliezer.AantalVerloren += 1;
                        }
                        else if (spel.Winnaar == spel.Speler2Token)
                        {
                            var verliezer = spelers.Find(s => s.Guid == spel.Speler1Token);
                            verliezer.AantalVerloren += 1;
                        }
                        winnaar.AantalGewonnen += 1;
                    }
                    else
                    {
                        var speler1 = spelers.Find(s => s.Guid == spel.Speler1Token);
                        var speler2 = spelers.Find(s => s.Guid == spel.Speler2Token);
                        speler1.AantalGelijk += 1;
                        speler2.AantalGelijk += 1;
                    }
                }
                _context.Spelers.UpdateRange(spelers);
                await _context.SaveChangesAsync();
            }
            //return de rankings eerst meest gewonnen dan
            return(View(spelers.OrderByDescending(s => s.AantalGewonnen).ThenByDescending(s => s.AantalGelijk).ThenBy(s => s.AantalVerloren)));
        }
        public async Task <IActionResult> Index()
        {
            ClaimsPrincipal currentUser   = this.User;
            var             currentUserID = currentUser.FindFirst(ClaimTypes.NameIdentifier).Value;

            if (await _context.Players.FindAsync(currentUserID) == null)
            {
                var player = new Player
                {
                    Guid = currentUserID,
                };
                await _context.Players.AddAsync(player);

                await _context.SaveChangesAsync();
            }

            var descriptions = await _apiService.GetPendingGames();

            if (descriptions.Failure)
            {
                Console.WriteLine(descriptions.Error);
                return(Error());
            }
            ViewData["Descriptions"] = descriptions.Value;
            return(View());
        }
Exemplo n.º 5
0
        public async Task <IActionResult> Index()
        {
            if (User.Identity.IsAuthenticated)
            {
                //check if player has record if not exists create
                ClaimsPrincipal currentUser   = this.User;
                var             currentUserID = currentUser.FindFirst(ClaimTypes.NameIdentifier).Value;
                //Kijk of er een gebruiker is met het GUID zo niet voeg deze toe
                if (!_reversiDbContext.Spelers.Any(s => s.Guid == currentUserID))
                {
                    await _reversiDbContext.Spelers.AddAsync(new Speler()
                    {
                        Guid = currentUserID, Naam = currentUser.Identity.Name, SpelerRol = "Speler"
                    });

                    await _reversiDbContext.SaveChangesAsync();
                }

                //Kijk of gebruiker een spel heeft zo ja ga naar de pagina van dat spel ander naar de index van alle spellen
                if (_helper.CheckVoorSpel(this.User) != null)
                {
                    return(RedirectToAction("Details", "Spel", new { id = _helper.CheckVoorSpel(this.User).Token }));
                }
                return(RedirectToAction("Index", "Spel"));
            }
            return(View());
        }
        public async Task <Player> CreatePlayer(string name, string guid, string email)
        {
            Player player = new Player()
            {
                Guid       = name,
                Name       = guid,
                AmountWon  = 0,
                AmountDraw = 0,
                AmountLost = 0,
                Email      = email
            };

            _context.Players.Add(player);
            _context.SaveChangesAsync();
            return(player);
        }