Example #1
0
        public async Task <IActionResult> addScore(ScoreVM scoreVM)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Unvalid data"));
            }
            try
            {
                var   claimsIdentity = this.User.Identity as ClaimsIdentity;
                var   userId         = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value;
                Score score          = new Score
                {
                    User      = await _userManager.FindByIdAsync(userId),
                    Area      = scoreVM.Area.ToUpper(),
                    Value     = scoreVM.Value,
                    TimeSpan  = scoreVM.TimeSpan,
                    TimeStamp = scoreVM.TimeStamp
                };

                return(Ok(await _scoreRepo.CreateAsync(score)));
            }
            catch (Exception e)
            {
                _logger.LogError($"\r\n\r\nError thrown on ScoresController - AddScore method (" + DateTime.UtcNow.ToString() + ") \r\nException thrown when trying to Add Score    : " + e + "\r\n\r\n");
                return(BadRequest("Failed to add score"));
            }
        }
Example #2
0
        public async Task initDatabase(int nmbrScores)
        {
            var users = new[]
            {
                new GeoPointUser {
                    SecurityStamp = Guid.NewGuid().ToString(), UserName = "******"
                },
                new GeoPointUser {
                    SecurityStamp = Guid.NewGuid().ToString(), UserName = "******"
                },
                new GeoPointUser {
                    SecurityStamp = Guid.NewGuid().ToString(), UserName = "******"
                },
            };

            foreach (var u in users)
            {
                var user = await userMgr.FindByNameAsync(u.UserName);

                Debug.WriteLine(user);
                if (user == null)
                {
                    if (!(await roleMgr.RoleExistsAsync("Admin")))
                    {
                        var role = new MongoRole("Admin");
                        await roleMgr.CreateAsync(role);
                    }
                    var userResult = await userMgr.CreateAsync(u, "P@ssw0rd");

                    var roleResult = await userMgr.AddToRoleAsync(u, "Admin");

                    if (!userResult.Succeeded || !roleResult.Succeeded)
                    {
                        throw new InvalidOperationException("Failed to build user and roles");
                    }
                }
            }
            if (!mongoDBContext.CollectionExistsAsync("scores").Result)
            {
                List <string> AreaList = new List <string> {
                    "EUROPE", "AFRICA", "SOUTH-AMERICA", "NORTH-AMERICA", "AUSTRALIA"
                };
                for (var i = 0; i < nmbrScores; i++)
                {
                    DateTime date = DateTime.UtcNow.AddDays(-new Random().Next(7));
                    date = date.AddMinutes(-new Random().Next(60));
                    date = date.AddHours(-new Random().Next(24));
                    date = date.AddSeconds(-new Random().Next(60));
                    Debug.WriteLine(date.ToString());

                    await scoreRepo.CreateAsync(new Score
                    {
                        Value     = new Random().Next(30),
                        Area      = AreaList[new Random().Next(AreaList.Count)],
                        User      = users[new Random().Next(users.Length)],
                        TimeSpan  = new Random().Next(30),
                        TimeStamp = date
                    });
                }
            }
        }