Esempio n. 1
0
        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();
        }
Esempio n. 2
0
 public Task <Scoring> GetByIdAsync(long scoringId)
 => _scoringRepository.GetByIdAsync(scoringId);