Ejemplo n.º 1
0
 public void SaveJudge(Judge judge)
 {
     lock (this)
     {
         judgesById[judge.JudgeId] = judge;
     }
 }
Ejemplo n.º 2
0
        public JudgeDto Authorize(string raceId, AuthorizeRequestDto authorization)
        {
            if (string.IsNullOrEmpty(raceId))
            {
                throw new ArgumentNullException("Missing RaceId");
            }
            if (string.IsNullOrEmpty(authorization.ConnectCode))
            {
                throw new ArgumentNullException("Missing ConnectCode");
            }
            if (string.IsNullOrEmpty(authorization.JudgeId))
            {
                throw new ArgumentNullException("Missing JudgeId");
            }
            if (string.IsNullOrEmpty(authorization.JudgeName))
            {
                throw new ArgumentNullException("Missing JudgeName");
            }

            var judgesRepository = repositorySetProvider.GetRepositorySet(raceId).Judges;
            var judgesDevice     = judgesRepository.FindConnectCode(authorization.ConnectCode);

            if (judgesDevice == null)
            {
                throw new ArgumentOutOfRangeException("Unknown ConnectCode");
            }

            ModelJudge judge = judgesRepository.FindJudge(authorization.JudgeId);

            if (judge == null)
            {
                judge         = new ModelJudge();
                judge.JudgeId = authorization.JudgeId;
                judge.Name    = authorization.JudgeName;
                judgesRepository.SaveJudge(judge);
            }

            judgesDevice.AuthenticationToken = AuthenticationToken.Generate(raceId, judge.JudgeId).ToString();
            judgesDevice.JudgeId             = judge.JudgeId;
            judgesRepository.SaveJudgeDevice(judgesDevice);

            JudgeDto judgeDto = new JudgeDto();

            judgeDto.JudgeId   = judge.JudgeId;
            judgeDto.JudgeName = judge.Name;
            judgeDto.IsAdmin   = judge.IsAdmin;
            judgeDto.DeviceIds = new List <string>();
            foreach (var judgeDevice in judgesRepository.FindJudgesDevices(judge.JudgeId))
            {
                judgeDto.DeviceIds.Add(judgeDevice.DeviceId);
            }
            return(judgeDto);
        }
Ejemplo n.º 3
0
 public void SaveJudge(Judge judge)
 {
     try
     {
         mutex.EnterWriteLock();
         EnsureDataLoaded();
         judgesById[judge.JudgeId] = judge;
         SaveData();
     }
     finally
     {
         mutex.ExitWriteLock();
     }
 }
Ejemplo n.º 4
0
 public JudgePrincipal(Judge judge)
 {
     this.judge = judge;
 }