Beispiel #1
0
        public DatasetValidateResult Validate(Dataset dataset, DatasetArchive archive)
        {
            if (archive == null || archive.WrongArchive)
            {
                // Возвращаем успешный ответ, так как есть правило на данную проверку
                // чтобы не дублировать ошибки пользователю
                return(DatasetValidateResult.Success);
            }

            foreach (var file in archive.Files)
            {
                if (file.Equals("answers.txt", StringComparison.OrdinalIgnoreCase))
                {
                    continue;
                }

                var extension = Path.GetExtension(file);
                if (!IsSupportedExtension(extension))
                {
                    return(DatasetValidateResult.Invalid("Архив должен содержать только картинки и/или файл с ответами"));
                }
            }

            return(DatasetValidateResult.Success);
        }
        public DatasetValidateResult Validate(Dataset dataset, DatasetArchive archive)
        {
            if (archive == null || archive.WrongArchive)
            {
                return(DatasetValidateResult.Invalid("Не задан архив картинок или не удалось его прочитать"));
            }

            return(DatasetValidateResult.Success);
        }
        public DatasetValidateResult Validate(Dataset dataset, DatasetArchive archive)
        {
            if (!dataset.ContainsCyrillic &&
                !dataset.ContainsLatin &&
                !dataset.ContainsNumbers)
            {
                return(DatasetValidateResult.Invalid("Не выбрано ни одного обязательного параметра"));
            }

            return(DatasetValidateResult.Success);
        }
        public DatasetValidateResult Validate(Dataset dataset, DatasetArchive archive)
        {
            if (String.IsNullOrEmpty(dataset.Name) ||
                dataset.Name.Length < 4 ||
                dataset.Name.Length > 8)
            {
                return(DatasetValidateResult.Invalid("Максимальная длина имени - от 4 до 8 символов"));
            }

            return(DatasetValidateResult.Success);
        }
        public DatasetValidateResult Validate(Dataset dataset, DatasetArchive archive)
        {
            if (String.IsNullOrEmpty(dataset.Name))
            {
                return(DatasetValidateResult.Success);
            }

            if (Regex.IsMatch(dataset.Name, pattern, RegexOptions.IgnoreCase))
            {
                return(DatasetValidateResult.Invalid("Имя не может содержать слово \"captcha\""));
            }

            return(DatasetValidateResult.Success);
        }
        public DatasetValidateResult Validate(Dataset dataset, DatasetArchive archive)
        {
            if (archive == null || archive.WrongArchive)
            {
                // Возвращаем успешный ответ, так как есть правило на данную проверку
                // чтобы не дублировать ошибки пользователю
                return(DatasetValidateResult.Success);
            }

            var delta = 0;

            if (dataset.ContainsCyrillic)
            {
                delta += 3000;
            }

            if (dataset.ContainsLatin)
            {
                delta += 3000;
            }

            if (dataset.ContainsNumbers)
            {
                delta += 3000;
            }

            if (dataset.ContainsSpecialCharacters)
            {
                delta += 3000;
            }

            if (dataset.CaseSensitivity)
            {
                delta += 3000;
            }

            var minLimit = 2000 + delta;
            var maxLimit = 3000 + delta;

            if (archive.Files.Count < minLimit ||
                archive.Files.Count > maxLimit)
            {
                return(DatasetValidateResult.Invalid("Кол-во картинок в архиве не соответствует указанным параметрам"));
            }

            return(DatasetValidateResult.Success);
        }
Beispiel #7
0
        public DatasetValidateResult Validate(Dataset dataset, DatasetArchive archive)
        {
            if (String.IsNullOrEmpty(dataset.Name))
            {
                return(DatasetValidateResult.Success);
            }

            char[] textArray = dataset.Name.ToCharArray();
            for (int i = 0; i < textArray.Length; i++)
            {
                if (!Regex.IsMatch(textArray[i].ToString(), _pattern, RegexOptions.IgnoreCase))
                {
                    return(DatasetValidateResult.Invalid("Имя должно содержать только латинские буквы"));
                }
            }

            return(DatasetValidateResult.Success);
        }
Beispiel #8
0
        public DatasetValidateResult Validate(Dataset dataset, DatasetArchive archive)
        {
            if (archive == null || archive.WrongArchive)
            {
                // Возвращаем успешный ответ, так как есть правило на данную проверку
                // чтобы не дублировать ошибки пользователю
                return(DatasetValidateResult.Success);
            }

            if (!String.IsNullOrEmpty(dataset.LocationOfResponsesToPictures) &&
                dataset.LocationOfResponsesToPictures.Equals("в отдельном файле", StringComparison.OrdinalIgnoreCase) &&
                !archive.ExistAnswers)
            {
                return(DatasetValidateResult.Invalid("Файл ответов требуется, но отсутствует"));
            }

            return(DatasetValidateResult.Success);
        }
Beispiel #9
0
        public DatasetValidateResult Validate(Dataset dataset, DatasetArchive archive)
        {
            if (archive == null || archive.WrongArchive)
            {
                // Возвращаем успешный ответ, так как есть правило на данную проверку
                // чтобы не дублировать ошибки пользователю
                return(DatasetValidateResult.Success);
            }

            if (!String.IsNullOrEmpty(dataset.LocationOfResponsesToPictures) &&
                dataset.LocationOfResponsesToPictures.Equals("в отдельном файле", StringComparison.OrdinalIgnoreCase) &&
                archive.ExistAnswers &&
                archive.Files.Count - 1 != archive.AnswerEntryList.Count)
            {
                return(DatasetValidateResult.Invalid("Количество ответов не совпадает с количеством картинок"));
            }

            return(DatasetValidateResult.Success);
        }