コード例 #1
0
 public List <SignatureFileDescriptionEntity> LoadTextSignatures(string xmlFolder)
 {
     try
     {
         string   xmlPath  = CurrentPath + xmlFolder;
         string[] xmlFiles = Directory.GetFiles(xmlPath);
         // get all files from the directory
         List <SignatureFileDescriptionEntity> fileList = new List <SignatureFileDescriptionEntity>();
         foreach (string xmlFile in xmlFiles)
         {
             SignatureFileDescriptionEntity fileDescription = new SignatureFileDescriptionEntity
             {
                 guid = xmlFile,
                 name = Path.GetFileName(xmlFile)
             };
             // get stream of the xml file
             StreamReader xmlStream = new StreamReader(xmlFile);
             // initiate serializer
             XmlSerializer serializer = new XmlSerializer(typeof(TextXmlEntity));
             // deserialize XML into the object
             TextXmlEntity xmlData = (TextXmlEntity)serializer.Deserialize(xmlStream);
             fileDescription.text      = xmlData.text;
             fileDescription.fontColor = xmlData.fontColor;
             xmlStream.Close();
             xmlStream.Dispose();
             // add object to array list
             fileList.Add(fileDescription);
         }
         return(fileList);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
コード例 #2
0
        /// <summary>
        /// Load image signatures.
        /// </summary>
        /// <returns>List[SignatureFileDescriptionEntity].</returns>
        public List <SignatureFileDescriptionEntity> LoadImageSignatures()
        {
            string[]      files    = Directory.GetFiles(this.currentPath, "*.*", SearchOption.TopDirectoryOnly);
            List <string> allFiles = new List <string>(files);
            List <SignatureFileDescriptionEntity> fileList = new List <SignatureFileDescriptionEntity>();

            try
            {
                allFiles.Sort(new FileDateComparator());
                allFiles.Sort(new FileNameComparator());

                foreach (string file in allFiles)
                {
                    FileInfo fileInfo = new FileInfo(file);

                    // check if current file/folder is hidden
                    if (fileInfo.Attributes.HasFlag(FileAttributes.Hidden) || file.Equals(this.globalConfiguration.Signature.dataDirectory))
                    {
                        // ignore current file and skip to next one
                        continue;
                    }
                    else
                    {
                        SignatureFileDescriptionEntity fileDescription = new SignatureFileDescriptionEntity();
                        fileDescription.guid = Path.GetFullPath(file);
                        fileDescription.name = Path.GetFileName(file);

                        // set is directory true/false
                        fileDescription.isDirectory = fileInfo.Attributes.HasFlag(FileAttributes.Directory);

                        // set file size
                        fileDescription.size = fileInfo.Length;

                        // get image Base64 incoded string
                        byte[] imageArray = File.ReadAllBytes(file);
                        string base64ImageRepresentation = Convert.ToBase64String(imageArray);
                        fileDescription.image = base64ImageRepresentation;

                        // add object to array list
                        fileList.Add(fileDescription);
                    }
                }

                return(fileList);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #3
0
        /// <summary>
        /// Load digital signatures or documents.
        /// </summary>
        /// <returns>List[SignatureFileDescriptionEntity].</returns>
        public List <SignatureFileDescriptionEntity> LoadFiles()
        {
            List <string> allFiles = new List <string>(Directory.GetFiles(this.currentPath));

            allFiles.AddRange(Directory.GetDirectories(this.currentPath));
            List <SignatureFileDescriptionEntity> fileList = new List <SignatureFileDescriptionEntity>();
            string dataDirectory   = this.globalConfiguration.Signature.dataDirectory;
            string outputDirectory = this.globalConfiguration.Signature.filesDirectory + this.directoryUtils.GetTempFolder().OUTPUT_FOLDER;

            try
            {
                allFiles.Sort(new FileNameComparator());
                allFiles.Sort(new FileDateComparator());

                foreach (string file in allFiles)
                {
                    FileInfo fileInfo = new FileInfo(file);

                    // check if current file/folder is hidden
                    if (!fileInfo.Attributes.HasFlag(FileAttributes.Hidden) &&
                        !Path.GetFileName(file).StartsWith(".") &&
                        !Path.GetFileName(file).Equals(Path.GetFileName(dataDirectory), StringComparison.OrdinalIgnoreCase) &&
                        !Path.GetFileName(file).Equals(Path.GetFileName(outputDirectory), StringComparison.OrdinalIgnoreCase))
                    {
                        SignatureFileDescriptionEntity fileDescription = new SignatureFileDescriptionEntity();
                        fileDescription.guid = Path.GetFullPath(file);
                        fileDescription.name = Path.GetFileName(file);

                        // set is directory true/false
                        fileDescription.isDirectory = fileInfo.Attributes.HasFlag(FileAttributes.Directory);

                        // set file size
                        if (!fileDescription.isDirectory)
                        {
                            fileDescription.size = fileInfo.Length;
                        }

                        // add object to array list
                        fileList.Add(fileDescription);
                    }
                }

                return(fileList);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #4
0
        /// <summary>
        /// Load stamps
        /// </summary>
        /// <param name="previewFolder">string</param>
        /// <param name="xmlFolder">string</param>
        /// <returns>List[SignatureFileDescriptionEntity]</returns>
        public List <SignatureFileDescriptionEntity> LoadStampSignatures(string previewFolder, string xmlFolder, string signatureType)
        {
            string imagesPath = CurrentPath + previewFolder;
            string xmlPath    = CurrentPath + xmlFolder;

            string[] imageFiles = Directory.GetFiles(imagesPath, "*.png", SearchOption.TopDirectoryOnly);
            // get all files from the directory
            List <SignatureFileDescriptionEntity> fileList = new List <SignatureFileDescriptionEntity>();

            try
            {
                if (imageFiles != null && imageFiles.Length > 0)
                {
                    string[]      xmlFiles  = Directory.GetFiles(xmlPath);
                    List <string> filesList = new List <string>();
                    foreach (string imageFile in imageFiles)
                    {
                        foreach (string xmlFile in xmlFiles)
                        {
                            if (Path.GetFileNameWithoutExtension(xmlFile).Equals(Path.GetFileNameWithoutExtension(imageFile)))
                            {
                                filesList.Add(imageFile);
                            }
                        }
                    }
                    // sort list of files and folders
                    filesList.Sort(new FileDateComparator());
                    filesList.Sort(new FileNameComparator());
                    foreach (string file in filesList)
                    {
                        FileInfo fileInfo = new FileInfo(file);
                        // check if current file/folder is hidden
                        if (fileInfo.Attributes.HasFlag(FileAttributes.Hidden) ||
                            file.Equals(globalConfiguration.GetSignatureConfiguration().GetDataDirectory()))
                        {
                            // ignore current file and skip to next one
                            continue;
                        }
                        else
                        {
                            SignatureFileDescriptionEntity fileDescription = new SignatureFileDescriptionEntity
                            {
                                guid = Path.GetFullPath(file),
                                name = Path.GetFileName(file),
                                // set is directory true/false
                                isDirectory = fileInfo.Attributes.HasFlag(FileAttributes.Directory),
                                // set file size
                                size = fileInfo.Length
                            };
                            // get image Base64 incoded string
                            byte[] imageArray = File.ReadAllBytes(file);
                            string base64ImageRepresentation = Convert.ToBase64String(imageArray);
                            fileDescription.image = base64ImageRepresentation;
                            if ("qrCode".Equals(signatureType) || "barCode".Equals(signatureType))
                            {
                                // get stream of the xml file
                                StreamReader xmlStream = new StreamReader(Path.Combine(xmlPath, Path.GetFileNameWithoutExtension(file) + ".xml"));
                                // initiate serializer
                                XmlSerializer serializer = null;
                                serializer = new XmlSerializer(typeof(OpticalXmlEntity));
                                // deserialize XML into the object
                                OpticalXmlEntity xmlData = (OpticalXmlEntity)serializer.Deserialize(xmlStream);
                                fileDescription.text = xmlData.text;
                                xmlStream.Close();
                                xmlStream.Dispose();
                            }
                            // add object to array list
                            fileList.Add(fileDescription);
                        }
                    }
                }
                return(fileList);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }