public void SaveJudge(Judge judge) { lock (this) { judgesById[judge.JudgeId] = judge; } }
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); }
public void SaveJudge(Judge judge) { try { mutex.EnterWriteLock(); EnsureDataLoaded(); judgesById[judge.JudgeId] = judge; SaveData(); } finally { mutex.ExitWriteLock(); } }
public JudgePrincipal(Judge judge) { this.judge = judge; }