示例#1
0
        /// <summary>
        /// The NewApplicationFile
        /// </summary>
        /// <returns>The <see cref="bool"/></returns>
        public bool NewApplicationFile()
        {
            if (ChangeDetector.Changed && !SaveApplicationFile())
            {
                return(false);
            }

            string suggestedFilename     = GetSuggestedFilename();
            var    creatingFileEventArgs = new CreatingFileEventArgs(suggestedFilename);

            OnCreatingFile(creatingFileEventArgs);
            if (!creatingFileEventArgs.Cancel)
            {
                var createFileEventArgs = new CreateFileEventArgs()
                {
                    Failed = false, FileName = creatingFileEventArgs.FileName
                };
                OnCreateFile(createFileEventArgs);

                var failed = createFileEventArgs.Failed;
                var createdFileEventArgs = new CreatedFileEventArgs(failed);
                OnCreatedFile(createdFileEventArgs);
                ChangeDetector.Changed = false;

                FileName = createFileEventArgs.FileName;

                return(!createdFileEventArgs.Failed);
            }

            return(false);
        }
示例#2
0
 /// <summary>
 /// The OnCreateFile
 /// </summary>
 /// <param name="e">The e<see cref="CreateFileEventArgs"/></param>
 protected virtual void OnCreateFile(CreateFileEventArgs e)
 {
     CreateFile?.Invoke(this, e);
 }