Example #1
0
        public async Task <Summary> GetSummaryAsync()
        {
            var summary = await _summaryRepository.Collection.Find(new BsonDocument("Year", DateTime.UtcNow.Year)).FirstOrDefaultAsync();

            if (summary != null)
            {
                return(summary);
            }

            summary = new Summary {
                Year = DateTime.UtcNow.Year
            };
            await _summaryRepository.UpdateAsync(summary);

            return(summary);
        }
Example #2
0
        public override async Task <Skill> AddAsync(Skill entity)
        {
            var summary = await _summaryRepository.Collection.Find(new BsonDocument("Year", DateTime.UtcNow.Year)).FirstOrDefaultAsync()
                          ??
                          new Summary
            {
                Year = DateTime.UtcNow.Year
            };

            await base.AddAsync(entity);

            summary = summary.AddSkill(entity.Id, entity.Description);

            await _summaryRepository.UpdateAsync(summary);

            return(entity);
        }
Example #3
0
        public override async Task <Opportunity> AddAsync(Opportunity entity)
        {
            var summary = await _summaryRepository.Collection.Find(new BsonDocument("Year", DateTime.UtcNow.Year)).FirstOrDefaultAsync()
                          ??
                          new Summary
            {
                Year = DateTime.UtcNow.Year
            };

            await base.AddAsync(entity);

            var account = await _accountsRepository.GetByIdAsync(entity.AccountId);

            summary = summary.AddRole(entity.Id, entity.AccountId, account.Description, entity.Skills);

            await _summaryRepository.UpdateAsync(summary);

            return(entity);
        }
Example #4
0
        public async Task <Summary> GenerateAsync(int gameId)
        {
            var game = await _gameRepository.GetFullGameDataById(gameId);

            var    gameSummaryDto = new GameSummaryDto(game);
            string jsonResult     = JsonSerializer.Serialize(gameSummaryDto);
            var    summary        = new Summary
            {
                GameId = gameId,
                Result = jsonResult
            };

            var existingSummary = _summaryRepository.GetFirstByFilterAsync(s => s.GameId == gameId);

            if (existingSummary != null)
            {
                return(await _summaryRepository.UpdateAsync(summary));
            }

            return(await _summaryRepository.AddAsync(summary));
        }