예제 #1
0
        public ConversionResultModel ConvertAndGetTargetFileName(BookSourceModel source, BookFormatEnum outputFormat,
                                                                 bool compress = true)
        {
            Guid id = ExtractBook(source.FileName, source.Body);

            if (outputFormat != DefaultBookFormat)
            {
                Convert(id, outputFormat);
                var sourceFile = GetTempFileName(id, DefaultBookFormat);
                if (File.Exists(sourceFile))
                {
                    File.Delete(sourceFile);
                }
            }

            var result = new ConversionResultModel
            {
                DownloadFileName = string.Format("{0}.{1}",
                                                 Transliterator.FromCyrillicToTransliteration(TextHelper.CleanCharacters(source.Name)),
                                                 outputFormat).ToLower(),
                FullFileName = GetTempFileName(id, outputFormat)
            };

            if (compress)
            {
                result = Compress(result);
            }

            return(result);
        }