Esempio n. 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="docData"></param>
        /// <param name="projectPath">
        ///     The path to save the serialized project to.
        ///     If none is specified, choose one based on the image path.
        /// </param>
        public SerializedMetadata Save(DocumentMetadata docData, string projectPath = null)
        {
            if (docData is null)
            {
                throw new ArgumentNullException(nameof(docData));
            }

            projectPath = string.IsNullOrEmpty(projectPath) ? ImageToProjectPath(docData.ImagePath) : projectPath;
            var serializedData = JsonConvert.SerializeObject(docData);

            File.WriteAllText(projectPath, serializedData);
            return(new SerializedMetadata(projectPath, docData, this));
        }
Esempio n. 2
0
        public SerializedMetadata Create(string imgPath, string projectPath = null, bool overwriteFile = false)
        {
            if (!File.Exists(imgPath))
            {
                throw new FileNotFoundException("Image file doesn't exist.", imgPath);
            }

            var docData = new DocumentMetadata(imgPath);

            projectPath = string.IsNullOrEmpty(projectPath) ? ImageToProjectPath(docData.ImagePath) : projectPath;

            if (!overwriteFile && File.Exists(projectPath))
            {
                throw new InvalidOperationException("You cannot overwrite the project file.");
            }

            Save(docData, projectPath);
            return(new SerializedMetadata(projectPath, docData, this));
        }
Esempio n. 3
0
 public SerializedMetadata(string projectPath, DocumentMetadata data, DocumentMetadataSerializer serializer)
 {
     ProjectPath = projectPath;
     Data        = data;
     Serializer  = serializer;
 }