コード例 #1
0
        public IActionResult docDecoder(docFileModel doc)
        {
            if (doc.File == null)
            {
                ModelState.AddModelError("File", "Файл не выбран."); return(View(doc));
            }
            if (string.IsNullOrEmpty(doc.Key) || string.IsNullOrWhiteSpace(doc.Key))
            {
                ModelState.AddModelError("Key", "Введите ключ."); return(View(doc));
            }
            if (string.IsNullOrEmpty(doc.Path) || string.IsNullOrWhiteSpace(doc.Path))
            {
                ModelState.AddModelError("Path", "Введите путь."); return(View(doc));
            }
            string ext  = Path.GetExtension(doc.File.FileName);
            string key  = doc.Key;
            string path = doc.Path;

            if (!(ext == ".docx"))
            {
                ModelState.AddModelError("File", "Выбран файл неверного расширения."); return(View(doc));
            }
            if (!DeNcoder.HasNotCyrillicChars(key))
            {
                ModelState.AddModelError("Key", "Введён ключ с некиррилическими символами."); return(View(doc));
            }
            if (!Directory.Exists(path))
            {
                ModelState.AddModelError("Path", "Такой директории не существует"); return(View(doc));
            }

            if (ModelState.IsValid)
            {
                WordReader.ReadDoc(doc);
                return(RedirectToAction("Index"));
            }
            return(View(doc));
        }