public async Task AcceptOfferAsync(long scoringId, long areaId, long expertId) { var scoring = await _scoringRepository.GetByIdAsync(scoringId); if (scoring == null) { throw new AppErrorException(ErrorCode.ScoringNotFound); } var expert = await _userRepository.GetByIdAsync(expertId); var offer = await GetOfferFromContractAsync(areaId, scoring.ProjectId, expert); if (offer == null) { throw new AppErrorException(ErrorCode.OfferNotFoundInContract); } scoring.AcceptOffer(expertId, (AreaType)areaId, _clock.UtcNow); await _scoringRepository.SaveChangesAsync(); }
public Task <Scoring> GetByIdAsync(long scoringId) => _scoringRepository.GetByIdAsync(scoringId);