/// <summary> /// Saves the file menu item click. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The <see cref="MenuItemEventArgs" /> instance containing the event data.</param> protected virtual void SaveFileMenuItemClick(object sender, MenuItemEventArgs e) { IExplorerNode parentNode = e.Owner as IExplorerNode; var fileNodeInfo = parentNode.Annotations.GetValue <FileNodeInfo>(); DTEManager.SetStatus(CKSProperties.FileUtilities_SavingFile); Document file = DTEManager.DTE.ActiveDocument; TextSelection selection = file.Selection as TextSelection; selection.SelectAll(); fileNodeInfo.Contents = selection.Text; selection.StartOfDocument(); bool result = parentNode.Context.SharePointConnection.ExecuteCommand <FileNodeInfo, bool>(FileSharePointCommandIds.SaveFileCommand, fileNodeInfo); if (result) { DTEManager.SetStatus(CKSProperties.FileUtilities_FileSuccessfullySaved); } else { MessageBox.Show(CKSProperties.FileUtilities_FileSaveError, CKSProperties.FileUtilities_FileSaveErrorMessageTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// Opens the file menu item click. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The <see cref="MenuItemEventArgs" /> instance containing the event data.</param> protected virtual void OpenFileMenuItemClick(object sender, MenuItemEventArgs e) { IExplorerNode fileNode = e.Owner as IExplorerNode; var fileNodeInfo = fileNode.Annotations.GetValue <FileNodeInfo>(); DTEManager.SetStatus(CKSProperties.FileUtilities_OpeningFile); string fileContents = fileNode.Context.SharePointConnection.ExecuteCommand <FileNodeInfo, string>(FileSharePointCommandIds.GetFileContentsCommand, fileNodeInfo); DTEManager.CreateNewTextFile(fileNodeInfo.Name, fileContents); DTEManager.SetStatus(CKSProperties.FileUtilities_FileSuccessfullyOpened); }
/// <summary> /// Creates the files nodes. /// </summary> /// <param name="parentNode">The parent node.</param> public static void CreateFilesNodes(IExplorerNode parentNode) { DTEManager.SetStatus(CKSProperties.FileNodeTypeProvider_RetrievingFolders); FolderNodeInfo[] folders = parentNode.Context.SharePointConnection.ExecuteCommand <FolderNodeInfo, FolderNodeInfo[]>(FileSharePointCommandIds.GetFoldersCommand, parentNode.Annotations.GetValue <FolderNodeInfo>()); DTEManager.SetStatus(CKSProperties.FileNodeTypeProvider_RetrievingFiles); FileNodeInfo[] files = parentNode.Context.SharePointConnection.ExecuteCommand <FolderNodeInfo, FileNodeInfo[]>(FileSharePointCommandIds.GetFilesCommand, parentNode.Annotations.GetValue <FolderNodeInfo>()); if (folders != null) { foreach (FolderNodeInfo folder in folders) { var annotations = new Dictionary <object, object> { { typeof(FolderNodeInfo), folder } }; string nodeTypeId = ExplorerNodeIds.FolderNode; IExplorerNode fileNode = parentNode.ChildNodes.Add(nodeTypeId, folder.Name, annotations); } } if (files != null) { foreach (FileNodeInfo file in files) { var annotations = new Dictionary <object, object> { { typeof(FileNodeInfo), file } }; string nodeTypeId = ExplorerNodeIds.FileNode; IExplorerNode fileNode = parentNode.ChildNodes.Add(nodeTypeId, file.Name, annotations); fileNode.DoubleClick += delegate(object sender, ExplorerNodeEventArgs e) { var fileNodeInfo = e.Node.Annotations.GetValue <FileNodeInfo>(); DTEManager.SetStatus(CKSProperties.FileUtilities_OpeningFile); string fileContents = fileNode.Context.SharePointConnection.ExecuteCommand <FileNodeInfo, string>(FileSharePointCommandIds.GetFileContentsCommand, fileNodeInfo); DTEManager.CreateNewTextFile(fileNodeInfo.Name, fileContents); DTEManager.SetStatus(CKSProperties.FileUtilities_FileSuccessfullyOpened); }; SetExplorerNodeIcon(file, fileNode); } } DTEManager.SetStatus(String.Empty); }
/// <summary> /// Discards the check out file menu item click. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The <see cref="MenuItemEventArgs" /> instance containing the event data.</param> protected virtual void DiscardCheckOutFileMenuItemClick(object sender, MenuItemEventArgs e) { IExplorerNode parentNode = e.Owner as IExplorerNode; var fileNodeInfo = parentNode.Annotations.GetValue <FileNodeInfo>(); DTEManager.SetStatus(CKSProperties.FileUtilities_DiscardingFileCheckOut); bool result = parentNode.Context.SharePointConnection.ExecuteCommand <FileNodeInfo, bool>(FileSharePointCommandIds.DiscardCheckOutCommand, fileNodeInfo); if (result) { parentNode.ParentNode.Refresh(); DTEManager.SetStatus(CKSProperties.FileUtilities_FileCheckOutSuccessfullyDiscarded); } else { MessageBox.Show(CKSProperties.FileUtilities_DiscardFileCheckOutError, CKSProperties.FileUtilities_DiscardFileCheckOutErrorMessageTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); } }