Beispiel #1
0
        internal static void CreateEmptyWebResource(string extension, TreeView tv, Control mainControl)
        {
            var callerNode = tv.SelectedNode;

            var nwrDialog = new NewWebResourceDialog(extension)
            {
                StartPosition = FormStartPosition.CenterParent
            };

            if (nwrDialog.ShowDialog(mainControl) == DialogResult.OK)
            {
                var    tempNode = callerNode;
                string name     = callerNode.Text;
                while (tempNode.Parent != null)
                {
                    name     = string.Format("{0}/{1}", tempNode.Parent.Text, name);
                    tempNode = tempNode.Parent;
                }

                var webResource = new Entity("webresource");
                webResource["content"]         = "";
                webResource["webresourcetype"] = new OptionSetValue(WebResource.GetTypeFromExtension(extension));
                webResource["name"]            = string.Format("{0}/{1}", name, string.Format("{0}.{1}", nwrDialog.WebResourceName, extension));
                var wr = new WebResource(webResource, null);

                var parts = nwrDialog.WebResourceName.Split('/');

                for (int i = 0; i < parts.Length; i++)
                {
                    if (i != parts.Length - 1)
                    {
                        var folderNode = new TreeNode(parts[i])
                        {
                            ImageIndex = 1, SelectedImageIndex = 1
                        };

                        callerNode.Nodes.Add(folderNode);
                        callerNode.Expand();
                        callerNode = folderNode;
                    }
                    else
                    {
                        var node = new TreeNode(string.Format("{0}.{1}", parts[i], extension))
                        {
                            ImageIndex =
                                WebResource.GetImageIndexFromExtension
                                    (extension)
                        };
                        node.SelectedImageIndex = node.ImageIndex;
                        node.Tag = wr;

                        callerNode.Nodes.Add(node);
                        callerNode.Expand();
                    }
                }
            }
        }
Beispiel #2
0
        internal static void AddExistingWebResource(TreeView tv, Control mainControl)
        {
            TreeNode selectedNode = tv.SelectedNode;
            TreeNode tempNode     = selectedNode;

            string name = tempNode.Text;

            while (tempNode.Parent != null)
            {
                name     = string.Format("{0}/{1}", tempNode.Parent.Text, name);
                tempNode = tempNode.Parent;
            }

            var ofd = new OpenFileDialog {
                Multiselect = true, Title = "Select file(s) for web resource(s)"
            };

            if (ofd.ShowDialog(mainControl) == DialogResult.OK)
            {
                var errorList = new List <string>();

                foreach (string fileName in ofd.FileNames)
                {
                    var fi = new FileInfo(fileName);

                    //Test valid characters
                    if (WebResource.IsInvalidName(fi.Name))
                    {
                        errorList.Add(fileName);
                    }
                    else
                    {
                        var webResource = new Entity("webresource");
                        webResource["content"]         = Convert.ToBase64String(File.ReadAllBytes(fileName));
                        webResource["webresourcetype"] =
                            new OptionSetValue(WebResource.GetTypeFromExtension(fi.Extension.Remove(0, 1)));
                        webResource["name"]        = string.Format("{0}/{1}", name, fi.Name);
                        webResource["displayname"] = string.Format("{0}/{1}", name, fi.Name);
                        var wr = new WebResource(webResource, fileName);

                        var node = new TreeNode(fi.Name)
                        {
                            ImageIndex =
                                WebResource.GetImageIndexFromExtension(fi.Extension.Remove(0,
                                                                                           1))
                        };
                        node.SelectedImageIndex = node.ImageIndex;
                        node.Tag = wr;

                        selectedNode.Nodes.Add(node);

                        selectedNode.Expand();
                    }

                    if (errorList.Count > 0)
                    {
                        MessageBox.Show("Some file have not been added since their name does not match naming policy\r\n"
                                        + string.Join("\r\n", errorList));
                    }
                }
            }

            tv.TreeViewNodeSorter = new NodeSorter();
            tv.Sort();
        }