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")); } }
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 }); } } }