コード例 #1
0
        public GetPositionsResponse Get()
        {
            try
            {
                var response = new GetPositionsResponse
                {
                    Code    = _responseSettings.Value.SuccessfulResponseCode,
                    Message = _responseSettings.Value.SuccessfulResponseMessage,
                };
                response.Positions = _positionDataManager.Get().Select(x => new Position
                {
                    Id          = x.Id,
                    Code        = x.Code,
                    Description = x.Description
                }).ToArray();

                return(response);
            }
            catch (Exception exception)
            {
                //TODO Log error
                return(new GetPositionsResponse
                {
                    Code = _responseSettings.Value.ErrorOccuredCode,
                    Message = _responseSettings.Value.ErrorOccuredMessage
                });
            }
        }
コード例 #2
0
        public CreatePlayerResponse Create(CreatePlayerRequest request)
        {
            try
            {
                var isValidDate = DateTime.TryParseExact(request.BirthDate, _settings.Value.BirthDateFormat, null, System.Globalization.DateTimeStyles.None, out DateTime birthDate);
                if (!isValidDate || (DateTime.Now.Year - birthDate.Year) < _settings.Value.MinimumAge)
                {
                    return new CreatePlayerResponse
                           {
                               Code    = _responseSettings.Value.InvalidBirthDateFormatCode,
                               Message = string.Format(_responseSettings.Value.InvalidBirthDateFormatMessage, _settings.Value.BirthDateFormat, _settings.Value.MinimumAge)
                           }
                }
                ;

                var position = _positionDataManager.Get(request.PositionCode);
                if (string.IsNullOrWhiteSpace(request.PositionCode) || !position.Any())
                {
                    return new CreatePlayerResponse
                           {
                               Code    = _responseSettings.Value.InvalidPositionCode,
                               Message = _responseSettings.Value.InvalidPositionMessage
                           }
                }
                ;

                if (!_teamDataManager.Get(request.TeamId.GetValueOrDefault()).Any())
                {
                    return new CreatePlayerResponse
                           {
                               Code    = _responseSettings.Value.InvalidTeamCode,
                               Message = _responseSettings.Value.InvalidTeamMessage
                           }
                }
                ;

                _playerDataManager.Create(new DataAccess.Models.Player
                {
                    FirstName         = request.FirstName,
                    MiddleName        = request.MiddleName,
                    LastName          = request.LastName,
                    Height            = request.Height.GetValueOrDefault(),
                    BirthDate         = birthDate,
                    PrimaryPositionId = position.First().Id,
                    TeamId            = request.TeamId.GetValueOrDefault()
                });

                return(new CreatePlayerResponse
                {
                    Code = _responseSettings.Value.SuccessfulResponseCode,
                    Message = _responseSettings.Value.SuccessfulResponseMessage,
                });
            }
            catch (Exception exception)
            {
                //TODO Add logging
                return(new CreatePlayerResponse
                {
                    Code = _responseSettings.Value.ErrorOccuredCode,
                    Message = _responseSettings.Value.ErrorOccuredMessage,
                });
            }
        }