public async Task <IActionResult> ImportSyndicateStats(SyndicateInfoViewModel entry) { var user = await _userManager.GetUserAsync(User); if (user == null && string.IsNullOrWhiteSpace(entry.Token)) { return(Unauthorized()); } if (user == null) { user = _userManager.Users.SingleOrDefault(u => u.PlayerPageUploadToken == entry.Token); } if (user == null || ( !(await _userManager.IsInRoleAsync(user, ApplicationRoleManager.Leader)) && !(await _userManager.IsInRoleAsync(user, ApplicationRoleManager.Officer)) && !(await _userManager.IsInRoleAsync(user, ApplicationRoleManager.Administrator)) )) { return(Unauthorized()); } if (entry.Level == 0) { return(BadRequest("Zero syndicate level reported - please contact Dotsent")); } var result = await _syndicateLogic.SubmitSyndicateHistory(entry); return(Json(new { result = result })); }
public async Task <bool> SubmitSyndicateHistory(SyndicateInfoViewModel entry) { var syndicate = _dbContext.Syndicate.SingleOrDefault(s => s.Tag == entry.Tag); if (syndicate == null) { return(false); } var historyEntry = new SyndicateHistory(entry); historyEntry.RecordedAt = DateTime.Now; historyEntry.SyndicateId = syndicate.Id; _dbContext.Add(historyEntry); await _dbContext.SaveChangesAsync(); return(true); }