Пример #1
0
        public IActionResult Aggregate([FromBody] List <string> phoneNumbers)
        {
            try
            {
                if (!phoneNumbers.Any())
                {
                    return(NoContent());
                }

                var phoneDataList = PrefixValidator.GetValidPhoneNumbers(_cacheManager, _prefixesFilename, phoneNumbers);
                if (!phoneDataList.Any())
                {
                    return(NoContent());
                }

                var phoneDataCompleteList = PhoneBusinessHandler.CompleteInfoPhoneData(phoneDataList, _serviceEndpoints.PhoneBusinessSector);
                if (!phoneDataCompleteList.Any())
                {
                    return(NoContent());
                }

                var prefixBusinessCountList = PhoneBusinessHandler.GetBusinessCountsByPrefix(phoneDataCompleteList);
                return(Ok(prefixBusinessCountList.ToDictionaryJsonString()));
            }
            catch (Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, ex.ToString()));
            }
        }
Пример #2
0
        public void ValidatePrefixString_InvalidNetworkValue_InvalidFormatMessage(string input_prefix)
        {
            var expected = "Такой подсети не существует";;

            var result = PrefixValidator.ValidatePrefixString(input_prefix);

            Assert.AreEqual(expected, result);
        }
Пример #3
0
        public void ValidatePrefixString_CorrectString_Success(string input_prefix)
        {
            var expected = "";

            var result = PrefixValidator.ValidatePrefixString(input_prefix);

            Assert.AreEqual(expected, result);
        }
Пример #4
0
        public void ValidatePrefixString_InvalidPrefixLength_InvalidFormatMessage()
        {
            var prefix_to_test = "10.10.10.0/34";
            var expected       = "Неверная длина префикса";;

            var result = PrefixValidator.ValidatePrefixString(prefix_to_test);

            Assert.AreEqual(expected, result);
        }
Пример #5
0
        public void ValidatePrefixString_InvalidNetwork_InvalidFormatMessage()
        {
            var prefix_to_test = "abc/24";
            var expected       = "Неверный формат, используйте x.x.x.x/y";

            var result = PrefixValidator.ValidatePrefixString(prefix_to_test);

            Assert.AreEqual(expected, result);
        }
Пример #6
0
        public string ValidatePrefixStringForEditing(PrefixView prefix_view_model)
        {
            //Или исопользовать статический UniqueValidator, но засылать туда коллекцию префиксов
            //Или писать отдельный валидатор, который принимает репозиторий. Или так криво приводить... Подумать...
            var validator = (IPrefixValidator)_repository;

            var format_validation_result = PrefixValidator.ValidatePrefixString(prefix_view_model.PrefixString);
            var unique_validation_result = validator.IsPrefixStringUnique(prefix_view_model.PrefixString);

            return(format_validation_result == ""
                ? unique_validation_result == ""
                    ? ""
                    : unique_validation_result
                : format_validation_result);
        }