public TreeDocumentsViewModel(BauMvvm.ViewModels.BaseObservableObject viewModelParent, FileModel.DocumentType documentType, FileModel file, FilesModelCollection files) { ViewModelParent = viewModelParent; DocumentType = documentType; File = file; Files = files; }
public SelectFilesProjectViewModel(ProjectModel project, FileModel.DocumentType idDocumentType, FilesModelCollection filesSelected) { // Inicializa las propiedades Project = project; FilesSelected = filesSelected; IDDocumentType = idDocumentType; // Carga por primera vez el combo de proyectos LoadTreeFiles(project); }
/// <summary> /// Convierte un elemento <see cref="BlogEntryViewModel"/> en el icono asociado /// </summary> public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { string icon = null; // Convierte la entrada según el estado en el icono asociado if (value is FileModel.DocumentType) { FileModel.DocumentType intFileType = (FileModel.DocumentType)((int)value); // Obtiene la dirección del icono switch (intFileType) { case FileModel.DocumentType.Document: icon = "/BauControls;component/Themes/Images/Document.png"; break; case FileModel.DocumentType.Folder: icon = "/BauControls;component/Themes/Images/Folder.png"; break; case FileModel.DocumentType.File: icon = "/BauControls;component/Themes/Images/File.png"; break; case FileModel.DocumentType.Image: icon = "/BauControls;component/Themes/Images/Image.png"; break; case FileModel.DocumentType.SiteMap: icon = "/BauControls;component/Themes/Images/PageBase.png"; break; case FileModel.DocumentType.Reference: icon = "/BauControls;component/Themes/Images/Reference.png"; break; case FileModel.DocumentType.Section: icon = "/BauControls;component/Themes/Images/Section.png"; break; case FileModel.DocumentType.Tag: icon = "/BauControls;component/Themes/Images/Tag.png"; break; case FileModel.DocumentType.Template: icon = "/BauControls;component/Themes/Images/Template.png"; break; } } // Devuelve la dirección del icono return(icon); }
public SelectFilesProjectView(ProjectModel project, FileModel.DocumentType idDocumentType, FilesModelCollection filesSelected) { // Inicializa los componentes InitializeComponent(); // Inicializa el ViewModel ViewModel = new SelectFilesProjectViewModel(project, idDocumentType, filesSelected); DataContext = ViewModel; ViewModel.Close += (sender, result) => { DialogResult = result.IsAccepted; Close(); }; }
/// <summary> /// Comprueba si un archivo hace referencia al tipo de documento buscado /// </summary> private bool IsReference(FileModel file, FileModel.DocumentType documentType) { bool isReference = false; // Comprueba si es una referencia if (file.FileType == FileModel.DocumentType.Reference) { ReferenceModel reference = new Application.Bussiness.Documents.ReferenceBussiness().Load(file); FileModel fileReferenced = new Application.Bussiness.Solutions.FileFactory().GetInstance(file.Project, reference.FileNameReference); // Indica si el archivo referenciado es del tipo buscado isReference = fileReferenced.FileType == documentType; } // Devuelve el valor que indica si el archivo es una referencia al tipo buscado return(isReference); }
/// <summary> /// Obtiene los archivos de un tipo de una carpeta /// </summary> private FilesModelCollection GetFiles(ProjectModel project, FilesModelCollection filesProject, FileModel.DocumentType idDocumentType) { FilesModelCollection files = new FilesModelCollection(project); // Añade a la colección de salida los archivos de determinado tipo foreach (FileModel fileProject in filesProject) { if (fileProject.FileType == idDocumentType) { files.Add(fileProject); } else { files.AddRange(fileProject.Files); } } // Devuelve la colección de archivos return(files); }
/// <summary> /// Obtiene los archivos de determinado tipo /// </summary> public FilesModelCollection GetFiles(ProjectModel project, FileModel.DocumentType idDocumentType) { return(GetFiles(project, new FileBussiness().Load(project), idDocumentType)); }
/// <summary> /// Abre el formulario de selección de archivos de un proyecto /// </summary> public SystemControllerEnums.ResultType SelectFilesProject(ProjectModel project, FileModel.DocumentType idDocumentType, FilesModelCollection filesSelected, out FilesModelCollection filesOutput) { SelectFilesProjectView frmNewSelect = new SelectFilesProjectView(project, idDocumentType, filesSelected); SystemControllerEnums.ResultType result; // Inicializa los datos de salida filesOutput = new FilesModelCollection(project); // Muestra el formulario result = DocWriterPlugin.MainInstance.HostPluginsController.HostViewsController.ShowDialog(frmNewSelect); // Recoge los valores if (result == SystemControllerEnums.ResultType.Yes) { filesOutput = frmNewSelect.ViewModel.FilesSelected; } // Devuelve el resultado return(result); }
/// <summary> /// Crea un archivo /// </summary> public FileModel CreateFile(ProjectModel project, FileModel folderParent, string name, FileModel.DocumentType type) { FileModel file = new FileModel(project); // Asigna las propiedades file.Title = name; file.FullFileName = GetPath(project, folderParent, name); file.FileType = type; // Si es un archivo de tipo documento, añade al nombre de archivo, el nombre de archivo predeterminado, si no recoge el // título normalizado if (!file.IsDocumentFolder) { file.FullFileName += file.GetExtension(type); } else { file.Title = Path.GetFileName(file.FullFileName); } // Crea el directorio LibCommonHelper.Files.HelperFiles.MakePath(file.Path); // Graba el archivo if (file.FileType == FileModel.DocumentType.File) { LibCommonHelper.Files.HelperFiles.SaveTextFile(file.FullFileName, ""); } else if (file.FileType != FileModel.DocumentType.Folder) { new Documents.DocumentBussiness().Save(file); } // Devuelve el archivo return(file); }