コード例 #1
0
        /// <summary>
        /// Запрос добавления информации о матче
        /// </summary>
        /// <param name="endpoint">Уникальный идентификатор сервера</param>
        /// <param name="timestamp">Временная метка окончания матча</param>
        /// <param name="info">Информация о матче</param>
        /// <returns>true - если запрос добавлен, false - если не прошел валидацию</returns>
        public bool PutMatchInfo(string endpoint, string timestamp, MatchInfo info)
        {
            if (info.IsNotFull() || !endpoint.IsValidEndpoint() ||
                !timestamp.IsValidTimestamp() || !_serverStatistics.HasAdvertise(endpoint) ||
                _serverStatistics.GetMatch(endpoint, timestamp) != null)
            {
                return(false);
            }

            var matchAdded = _serverStatistics.PutMatch(endpoint, timestamp, info);

            if (!matchAdded)
            {
                return(false);
            }
            _playerStatistics.AddMatchInfo(endpoint, timestamp, info);
            return(true);
        }