private void DeleteWebResource() { try { if (TreeViewHelper.CheckOnlyThisNode(webresourceTreeView1)) return; TreeNode selectedNode = webresourceTreeView1.SelectedNode; if (selectedNode.ImageIndex > 1) { if (DialogResult.Yes == MessageBox.Show(this, "This web resource will be deleted from the Crm server if you are connected and this web resource exists.\r\nAre you sure you want to delete this web resource?", Resources.MessageBox_QuestionTitle, MessageBoxButtons.YesNo, MessageBoxIcon.Question)) { var wr = selectedNode.Tag as WebResource; if (wr != null && wr.Entity != null && wr.Entity.Id != Guid.Empty) { webresourceTreeView1.Service = Service; wrManager = new AppCode.WebResourceManager(Service); WorkAsync(new WorkAsyncInfo("Deleting web resource...", e => wrManager.DeleteWebResource((Entity)e.Argument)) { AsyncArgument = wr.Entity, PostWorkCallBack = e => { if (e.Error != null) { MessageBox.Show(this, "An error occured: " + e.Error, Resources.MessageBox_ErrorTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); } else { webresourceTreeView1.RemoveNode(selectedNode); } SetWorkingState(false); } }); } else { webresourceTreeView1.RemoveNode(selectedNode); } } } else { webresourceTreeView1.RemoveNode(selectedNode); } } catch (Exception error) { MessageBox.Show(this, "Error while deleting web resource: " + error.Message, Resources.MessageBox_ErrorTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); } }