예제 #1
0
        public void AddSymbolFiles(SymbolFile symbolFile, HttpPostedFileBase[] uploadFiles)
        {
            var symbol = GetSymbol(symbolFile.Symbol.SystemId);

            if (symbolFile.SymbolFileVariant == null)
            {
                SymbolFileVariant variant = new SymbolFileVariant();
                variant.SystemId             = Guid.NewGuid();
                variant.Name                 = GetVariantName(symbol, symbolFile);
                symbolFile.SymbolFileVariant = variant;
            }

            symbol.DateChanged  = DateTime.Now;
            symbol.LastEditedBy = ClaimsPrincipal.Current.GetUsername();

            ImageService imageService = new ImageService();

            foreach (var uploadFile in uploadFiles)
            {
                int width = imageService.GetWidth(uploadFile);
                uploadFile.InputStream.Position = 0;
                var format = Path.GetExtension(uploadFile.FileName).Replace(".", "");
                if (width > 0 && format != "ai" && format != "pdf")
                {
                    symbolFile.Size = GetSize(width);
                }
                var filename = new ImageService().SaveImage(uploadFile, symbol, symbolFile, width, true);
                AddFile(symbolFile, symbol, symbolFile.SymbolFileVariant, filename, format);
            }
        }
예제 #2
0
        public void AddSymbolFilesFromSvg(SymbolFile symbolFile, HttpPostedFileBase uploadFile)
        {
            var symbol = GetSymbol(symbolFile.Symbol.SystemId);

            if (symbolFile.SymbolFileVariant == null)
            {
                SymbolFileVariant variant = new SymbolFileVariant();
                variant.SystemId             = Guid.NewGuid();
                variant.Name                 = GetVariantName(symbol, symbolFile);
                symbolFile.SymbolFileVariant = variant;
            }

            ImageService imageService = new ImageService();

            symbol.DateChanged  = DateTime.Now;
            symbol.LastEditedBy = ClaimsPrincipal.Current.GetUsername();
            symbolFile.Symbol   = symbol;
            symbolFile.SystemId = Guid.NewGuid();
            var filename = imageService.SaveImage(uploadFile, symbol, symbolFile, 0, false);

            symbolFile.FileName = filename;
            symbolFile.Format   = "svg";
            symbolFile.Size     = "stor";
            _dbContext.SymbolFiles.Add(symbolFile);
            _dbContext.SaveChanges();

            uploadFile.InputStream.Position = 0;
            filename        = imageService.ConvertImage(uploadFile, symbol, "tiff", symbolFile, 1500, false);
            symbolFile.Size = "stor";
            AddFile(symbolFile, symbol, symbolFile.SymbolFileVariant, filename, "tiff");

            uploadFile.InputStream.Position = 0;
            filename        = imageService.ConvertImage(uploadFile, symbol, "png", symbolFile, 50, false);
            symbolFile.Size = "liten";
            AddFile(symbolFile, symbol, symbolFile.SymbolFileVariant, filename, "png");

            uploadFile.InputStream.Position = 0;
            filename        = imageService.ConvertImage(uploadFile, symbol, "png", symbolFile, 150);
            symbolFile.Size = "liten";
            AddFile(symbolFile, symbol, symbolFile.SymbolFileVariant, filename, "png");

            //var gifInputFileName = filename;

            //filename = imageService.ConvertToGif(gifInputFileName, symbol, "gif", symbolFile, 50, false);
            //symbolFile.Size = "liten";
            //AddFile(symbolFile, symbol, symbolFile.SymbolFileVariant, filename, "gif");

            //filename = imageService.ConvertToGif(gifInputFileName, symbol, "gif", symbolFile, 150);
            //symbolFile.Size = "liten";
            //AddFile(symbolFile, symbol, symbolFile.SymbolFileVariant, filename, "gif");

            //uploadFile.InputStream.Position = 0;
            //filename = imageService.ConvertImage(uploadFile, symbol, "ai", symbolFile, 0, false);
            //symbolFile.Size = "stor";
            //AddFile(symbolFile, symbol, symbolFile.SymbolFileVariant, filename, "ai");
        }
예제 #3
0
        private void AddFile(SymbolFile symbolFile, Models.Symbol symbol, SymbolFileVariant variant, string filename, string format)
        {
            SymbolFile file = new SymbolFile();

            file.SystemId          = Guid.NewGuid();
            file.Color             = symbolFile.Color;
            file.Size              = symbolFile.Size;
            file.Symbol            = symbol;
            file.SymbolFileVariant = variant;
            file.Type              = symbolFile.Type;
            file.FileName          = filename;
            file.Format            = format;
            _dbContext.SymbolFiles.Add(file);
            _dbContext.SaveChanges();
        }
예제 #4
0
 public void RemoveSymbolFileVariant(SymbolFileVariant variant)
 {
     _dbContext.SymbolFileVariants.Remove(variant);
     _dbContext.SaveChanges();
 }