コード例 #1
0
        // Формируем модель файла документа
        private FileModelDTO CreateFilePath(DocumentCreateModel model)
        {
            var year       = model.Year.ToString();
            var contract   = model.ContractNumber.ReplaceInvalidChars('-') ?? "";
            var deviceType = model.DeviceType.ReplaceInvalidChars('-');
            var deviceName = model.DeviceName.ReplaceInvalidChars('-');
            var docType    = model.DocumentType == DocumentType.Certificate ? "Свидетельства" : "Извещения о непригодности";

            var extension = Path.GetExtension(model.DocumentFile?.FileName);
            var fileName  = deviceType + "_" + deviceName + extension;
            var filePath  = Path.Combine(year, contract, docType, fileName);

            var file = new FileModelDTO
            {
                Size        = model.DocumentFile?.Length ?? 0,
                ContentType = model.DocumentFile?.ContentType,
                Path        = filePath
            };

            // Актуализируем путь к файлу
            file.Path     = _fileService.ActualizeFilePath(file);
            file.FileName = Path.GetFileName(file.Path);

            return(file);
        }