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