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 }));
        }
Ejemplo n.º 2
0
        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);
        }