public FrmCustomUpdateCreator()
        {
            InitializeComponent();

            customUpdateElementViewer1.ElementDoubleClick += new CustomUpdateElementViewer.CustomUpdateElementViewer.ElementDoubleClickEventHandler(addElement);

            ExecutableElement executableElement = new ExecutableElement();

            customUpdateElementViewer1.AddElement(executableElement);

            ScriptElement scriptElement = new ScriptElement();

            customUpdateElementViewer1.AddElement(scriptElement);

            TextFileElement textFileElement = new TextFileElement();

            customUpdateElementViewer1.AddElement(textFileElement);

            FileElement fileElement = new FileElement();

            customUpdateElementViewer1.AddElement(fileElement);

            FolderElement folderElement = new FolderElement();

            customUpdateElementViewer1.AddElement(folderElement);

            ServiceElement serviceElement = new ServiceElement();

            customUpdateElementViewer1.AddElement(serviceElement);

            RegistryKeyElement RegKeyElement = new RegistryKeyElement();

            customUpdateElementViewer1.AddElement(RegKeyElement);

            RegistryElement RegElement = new RegistryElement();

            customUpdateElementViewer1.AddElement(RegElement);

            VariableElement variableElement = new VariableElement();

            customUpdateElementViewer1.AddElement(variableElement);

            PowerManagementElement powerElement = new PowerManagementElement();

            customUpdateElementViewer1.AddElement(powerElement);

            WaitElement waitElement = new WaitElement();

            customUpdateElementViewer1.AddElement(waitElement);

            KillProcessElement killElement = new KillProcessElement();

            customUpdateElementViewer1.AddElement(killElement);

            ReturnCodeElement returnCodeElement = new ReturnCodeElement();

            customUpdateElementViewer1.AddElement(returnCodeElement);

            lnkLblHelp.Enabled = System.IO.File.Exists("Custom Updates.pdf");
        }
Example #2
0
 /// <summary>
 /// 进入指定的路径
 /// </summary>
 /// <param name="inputPath"></param>
 private void InFolderByInput(string inputPath)
 {
     if (!string.IsNullOrWhiteSpace(inputPath) && Directory.Exists(inputPath))
     {
         FolderElement inputFolder = new FolderElement(new DirectoryInfo(inputPath));
     }
 }
Example #3
0
        /// <summary>
        /// Handles the ServerClick event of the btnUpload control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
        protected void btnUpload_ServerClick(object sender, EventArgs e)
        {
            FileStreamInfo[] fsi = FileUpCtrl1.Files;
            if (fsi != null && fsi.Length > 0)
            {
                FileUploaderContext.Current.SessionUid = new Guid(Request.Form["__MEDIACHASE_FORM_UNIQUEID2"]);
                Page.ClientScript.RegisterStartupScript(this.GetType(), FileUploaderContext.Current.SessionUid.ToString(), String.Format("ChangeProgressId('{0}');", FileUploaderContext.Current.SessionUid), true);

                if (UploadProgress.Enabled)
                {
                    UploadProgressInfo newUploadProgressInfo = new UploadProgressInfo(FileUploaderContext.Current.SessionUid, (Int32)fsi[0].Size);
                    UploadProgress.Provider.Update(newUploadProgressInfo);
                }
                FolderElement element = FolderElement.Create(this.ParentId, fsi[0].FileName, FileUpCtrl1.Provider.GetStream(fsi[0].StreamUid), FileUploaderContext.Current.SessionUid);

                Response.Redirect(this.Request.RawUrl + String.Format("&objectid={0}", element.PrimaryKeyId.Value));
            }
            //McHttpPostedFile file = mcHtmlInputFile.PostedFile;
            //if(file != null)
            //{
            //    FolderElement element = FolderElement.Create(this.ParentId, file.FileName, file.InputStream);

            //    Response.Redirect(this.Request.RawUrl + String.Format("&objectid={0}", element.PrimaryKeyId.Value));
            //}
        }
Example #4
0
        /// <summary>
        /// 初始化文件夹
        /// </summary>
        /// <returns></returns>
        public List <FolderElement> InitFolders()
        {
            List <FolderElement> result = new List <FolderElement>();

            //桌面
            result.Add(new FolderElement(new System.IO.DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.Desktop))));
            result.Last().LoadSubFolderAndFiles(_fileFilter, _curStatus == SelectControlType.SelectFile);
            if (SystemContext.LanguageManager.Type == Framework.Language.LanguageType.Cn)
            {
                result.Last().Name = "桌面";
            }
            //我的文档
            result.Add(new FolderElement(new System.IO.DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments))));
            result.Last().LoadSubFolderAndFiles(_fileFilter, _curStatus == SelectControlType.SelectFile);
            if (SystemContext.LanguageManager.Type == Framework.Language.LanguageType.Cn)
            {
                result.Last().Name = "我的文档";
            }

            foreach (var item in Environment.GetLogicalDrives())
            {
                DirectoryInfo dirTmp = new System.IO.DirectoryInfo(item);
                if (dirTmp.Exists)
                {
                    FolderElement tmpEmt = new FolderElement(dirTmp);
                    tmpEmt.LoadSubFolderAndFiles(_fileFilter, _curStatus == SelectControlType.SelectFile);
                    result.Add(tmpEmt);
                }
            }
            return(result);
        }
        /// <summary>
        /// Processes the delete command.
        /// </summary>
        /// <param name="items">The items.</param>
        /// <param name="Id">The id.</param>
        void ProcessDeleteCommand(string[] items, int Id)
        {
            for (int i = 0; i < items.Length; i++)
            {
                string[] keys = EcfListView.GetPrimaryKeyIdStringItems(items[i]);
                if (keys != null)
                {
                    int    id            = Int32.Parse(keys[0]);
                    string type          = keys[1];
                    string outlineNumber = keys[2];

                    if (type.Equals("Node"))
                    {
                        FolderElement.Delete(id);
                    }
                    else if (type.Equals("Folder"))
                    {
                        Mediachase.Ibn.Data.Services.TreeNode node = TreeManager.GetNodeByOulineNumber(Folder.GetAssignedMetaClass(), outlineNumber);
                        if (node != null)
                        {
                            DeleteEntryRecursive(node);
                            TreeManager.DeleteNode(node);
                        }
                    }
                }
            }
        }
Example #6
0
        // Initialize the directories as below
        // - root
        //    - root-file1.text     1 MB
        //    - root-file2.text     3 MB
        //    - sub-1
        //        - sub file1.txt   2 MB + 1 byte
        //        - sub file2.txt   2 MB - 1 byte
        //    - sub-2
        //        - sub file3.txt   1 MB
        //        - sub file4.txt   1 MB
        private void InitialElementList()
        {
            _RootFolder = new FolderElement("root");
            _RootFile1  = new FileElement("root-file1.text", OneMb);
            _RootFile2  = new FileElement("root-file1.text", 3 * OneMb);

            _SubFolder1 = new FolderElement("sub-1");
            _SubFile1   = new FileElement("sub file1.txt", 2 * OneMb + 1);
            _SubFile2   = new FileElement("sub file2.txt", 2 * OneMb - 1);
            _SubFolder1.Add(_SubFile1);
            _SubFolder1.Add(_SubFile2);

            _SubFolder2 = new FolderElement("sub-2");
            _SubFile3   = new FileElement("sub file3.txt", OneMb);
            _SubFile4   = new FileElement("sub file4.txt", OneMb);
            _SubFolder2.Add(_SubFile3);
            _SubFolder2.Add(_SubFile4);

            _RootFolder.Add(_RootFile1);
            _RootFolder.Add(_RootFile2);
            _RootFolder.Add(_SubFolder1);
            _RootFolder.Add(_SubFolder2);

            _SizeCounterViewModel.ElementList.Add(_RootFolder);
        }
 //进入输入的路径
 private void ExecuteInPathCommand(string obj)
 {
     if (Directory.Exists(obj))
     {
         FolderElement tmpFolder = new FolderElement(new DirectoryInfo(obj));
         UpdateFolders(SelectManager.InFolderAndUpdateLevel(tmpFolder));
     }
 }
        private static FileElement AddNewFile(FolderElement folderElement, string fileName, int fileSize)
        {
            var fileElement = new FileElement(fileName, fileSize);

            folderElement.Add(fileElement);

            return(fileElement);
        }
Example #9
0
    /// <summary>
    /// Binds the data.
    /// </summary>
    private void BindData()
    {
        if (DataSource == null)
        {
            this.Visible = false;
            return;
        }

        List <ItemAsset> assets = new List <ItemAsset>();

        if (!String.IsNullOrEmpty(GroupName))
        {
            foreach (ItemAsset asset in DataSource)
            {
                if (asset.GroupName.Equals(GroupName))
                {
                    assets.Add(asset);
                }
            }
        }
        else
        {
            foreach (ItemAsset asset in DataSource)
            {
                assets.Add(asset);
            }
        }

        this.Visible = true;

        List <FolderElement> elements = new List <FolderElement>();

        foreach (ItemAsset asset in assets)
        {
            if (asset.AssetType.Equals("file"))
            {
                FolderElement[] myElements = FolderElement.List <FolderElement>(FolderElement.GetAssignedMetaClass(), new FilterElement[] { new FilterElement("FolderElementId", FilterElementType.Equal, asset.AssetKey) });
                if (myElements.Length > 0)
                {
                    elements.Add(myElements[0]);
                }
            }
            else
            {
                FolderElement[] myElements = FolderElement.List <FolderElement>(FolderElement.GetAssignedMetaClass(), new FilterElement[] { new FilterElement("ParentId", FilterElementType.Equal, asset.AssetKey) });
                if (myElements.Length > 0)
                {
                    foreach (FolderElement myElement in myElements)
                    {
                        elements.Add(myElement);
                    }
                }
            }
        }

        AltList.DataSource = elements;
        AltList.DataBind();
    }
        public void Parent_AddFolderBToFolderA_AShouldBeParentOfB()
        {
            // arrange
            var rootFolder = new FolderElement("root");

            rootFolder.Add(_FolderElementTested);

            Assert.AreSame(rootFolder, _FolderElementTested.Parent);
        }
        public void ShortName_TestForOnlyRootPathEndWithSlash_TheRootPathWithSlashIsTheShortName()
        {
            var testPath      = @"C:\";
            var folderElement = new FolderElement(testPath);

            var expected = @"C:\";
            var actual   = folderElement.ShortName;

            Assert.AreEqual(expected, actual);
        }
        public void ShortName_TestForOnlyNormalPathEndWithSlash_TheLastFolderNameIsTheShortName()
        {
            var testPath      = @"C:\Folder1\";
            var folderElement = new FolderElement(testPath);

            var expected = @"Folder1";
            var actual   = folderElement.ShortName;

            Assert.AreEqual(expected, actual);
        }
Example #13
0
        public void IsSelected_ChangeThePropertyValue_ValueIsSetCorrectly()
        {
            var folerElement = new FolderElement("folder");

            folerElement.IsSelected = true;
            Assert.IsTrue(folerElement.IsSelected);

            folerElement.IsSelected = false;
            Assert.IsFalse(folerElement.IsSelected);
        }
Example #14
0
        /// <summary>
        /// Processes the move copy command.
        /// </summary>
        /// <param name="args">The args.</param>
        void ProcessMoveCopyCommand(Dictionary <string, object> args)
        {
            if (args["cmd"] != null)
            {
                string command = args["cmd"].ToString();
                if (String.Compare(command, "move", true) == 0 || String.Compare(command, "copy", true) == 0)
                {
                    string folder = args["folder"] as string;
                    if (String.IsNullOrEmpty(folder))
                    {
                        return;
                    }

                    int targetFolderId = Int32.Parse(folder);

                    string[] items = MyListView.CurrentListView.GetCheckedCollection();

                    if (items != null)
                    {
                        for (int i = 0; i < items.Length; i++)
                        {
                            string[] keys = EcfListView.GetPrimaryKeyIdStringItems(items[i]);
                            if (keys != null)
                            {
                                int    id   = Int32.Parse(keys[0]);
                                string type = keys[1];

                                if (String.Compare(command, "move", true) == 0)
                                {
                                    if (type == "Node")
                                    {
                                        FolderElement.Move(id, targetFolderId);
                                    }
                                    else
                                    {
                                        Folder.Move(id, targetFolderId);
                                    }
                                }
                                else if (String.Compare(command, "copy", true) == 0)
                                {
                                    if (type == "Node")
                                    {
                                        FolderElement.Copy(id, targetFolderId);
                                    }
                                    else
                                    {
                                        Folder.CopyRecursive(id, targetFolderId);
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
Example #15
0
 public FileSystemRoot(FolderElement folder, Site site)
 {
     Path = FixPath(folder.Path);
     if (!string.IsNullOrEmpty(folder.Title))
     {
         Title = folder.Title;
     }
     Readers = folder.Readers.ToPermissionMap(Permission.Read, new[] { "Administrators", "Editors", "Writers" }, new[] { "admin" });
     Writers = folder.Writers.ToPermissionMap(Permission.Write, new[] { "Administrators", "Editors" }, new[] { "admin" });
     Site    = site;
 }
Example #16
0
        public void Size_IncreseElementSize_ParentSizeAlsoIncreased()
        {
            var folderElement = new FolderElement("root");
            var fileElement1  = new FileElement("file1.txt", 10);
            var fileElement2  = new FileElement("file2.txt", 50);

            folderElement.Add(fileElement1);
            folderElement.Add(fileElement2);
            // change the size from 10 to 100
            fileElement1.Size = 100;
            Assert.AreEqual(150, folderElement.Size);
        }
Example #17
0
 //选择了某一项
 private void ExecuteSelectedItemCommand(FolderElement obj)
 {
     _curSelectedItem = obj;
     if (!_curSelectedItem.IsFolder)
     {
         CurSelectedItemInFolder = obj;
     }
     else
     {
         CurSelectedItemInFolder = null;
     }
 }
        public void Remove_RemoveExistingFolder_SizeIsRecalculated()
        {
            // arrange
            var folder1 = new FolderElement("f1");

            AddNewFile(folder1, 100);
            _FolderElementTested.Add(folder1);
            AddNewFile(_FolderElementTested, 200);
            // assign
            _FolderElementTested.Remove(folder1);
            // asset
            Assert.AreEqual(200, _FolderElementTested.Size);
        }
        public void Add_AddFileTo2LevelFolders_TheRootEmptyFolderSizeIsCorrect()
        {
            var rootFolder       = new FolderElement("root");
            var leafLevel1Folder = new FolderElement("Leaf_Level_1");
            var leafLevel2Folder = new FolderElement("Leaf_Level_2");

            rootFolder.Add(leafLevel1Folder);
            leafLevel1Folder.Add(leafLevel2Folder);

            AddNewFile(leafLevel2Folder, 1000);

            Assert.AreEqual(1000, rootFolder.Size);
        }
Example #20
0
 //选中或者进入文件夹【双击】
 private void ExecuteInSelectedItemCommand(FolderElement obj)
 {
     if (obj.IsFolder)
     {
         //进入文件夹
         UpdateFolders(SelectManager.InFolderAndUpdateLevel(obj));
     }
     else
     {
         base.DialogResult = true;
         _curSelectedItem  = obj;
         base.CloseView();
     }
 }
        public void Add_CreateNewFolderThenAddANewFolder_TheFolderSizeIsZero()
        {
            // arrange
            var folder1 = new FolderElement("f1");

            // assign
            _FolderElementTested.Add(folder1);

            // assert
            var actual   = _FolderElementTested.Size;
            var expected = 0;

            Assert.AreEqual(expected, actual);
        }
Example #22
0
 /// <summary>
 /// Loads the folder.
 /// </summary>
 /// <param name="value">The value.</param>
 /// <param name="control">The control.</param>
 private void LoadFolder(string value, ControlList control)
 {
     if (!string.IsNullOrEmpty(value))
     {
         string path = value;
         if (Tree.FolderExists(path))
         {
             FolderElement folderElement = Tree.GetFolder(path);
             XmlNode       xmlNode       = control["folder"];
             folderElement.GetXml(xmlNode, SubFolder.OnlyThisFolder);
             CommonXml.SetAttributeValue(xmlNode, "path", path);
         }
     }
 }
Example #23
0
        public string ChangeFileName(FileInfoBase fileInfo, FolderElement defaultFolder, RuleElement rule = null)
        {
            DirectoryInfoBase destinationDirectory = GetFileDestinationDirectory(rule);
            var changedFileName = GetFileNameWithoutExtensionAndIndex(fileInfo.Name).Trim();

            if (rule != null)
            {
                changedFileName = ChangeFileNameAccordingRule(changedFileName, destinationDirectory, rule);
            }

            var index = GetNextIndexOfFileInDirectory(destinationDirectory, changedFileName + fileInfo.Extension);

            changedFileName += (index != null ? $" ({index})" : "") + fileInfo.Extension;

            return(changedFileName);

            DirectoryInfoBase GetFileDestinationDirectory(RuleElement ruleElement)
            {
                DirectoryInfoBase directory = _fileSystem.DirectoryInfo.FromDirectoryName(defaultFolder.Path);

                if (rule != null)
                {
                    directory = _fileSystem.DirectoryInfo.FromDirectoryName(rule.DestinationFolder);
                }
                return(directory);
            }

            string GetFileNameWithoutExtensionAndIndex(string filename)
            {
                var result = new Regex(@"\(\d+\)").Replace(filename, "");

                return(Path.GetFileNameWithoutExtension(result));
            }

            string ChangeFileNameAccordingRule(string filename, DirectoryInfoBase directory, RuleElement ruleElement)
            {
                if (ruleElement.NameChangeRule.Equals(NameChangeRule.LastModifyDate))
                {
                    filename += $" {DateTime.Now.ToString("D",CultureInfo.InvariantCulture)}";
                }

                else if (ruleElement.NameChangeRule.Equals(NameChangeRule.SerialNumber))
                {
                    filename = $"{GetNextSerialNumberOfFileInDirectory(directory)}.{filename}";
                }
                return(filename);
            }
        }
        public void Add_CreateNewFolderThenAddAFolderIncludesFile_TheFolderSizeIsIncreased()
        {
            // arrange
            var folder1 = new FolderElement("f1");

            AddNewFile(folder1, 100);

            // assign
            _FolderElementTested.Add(folder1);

            // assert
            var actual   = _FolderElementTested.Size;
            var expected = 100;

            Assert.AreEqual(expected, actual);
        }
Example #25
0
        /// <summary>
        /// Creates the BLOB.
        /// </summary>
        /// <returns></returns>
        private int?createBlob()
        {
            try
            {
                foreach (McHttpPostedFile file in mcHtmlInputFile.PostedFiles)
                {
                    FolderElement.Create(this.ParentId, file.FileName, file.InputStream); //.Save();
                }

                return(0);
            }
            catch (Exception)
            {
                return(-1);
            }
        }
Example #26
0
        private Folder LoadFolder(FolderElement folderElement, string basePath, string repositoryUrl)
        {
            var path = string.IsNullOrEmpty(basePath)
                     ? folderElement.Path
                     : Path.Combine(basePath, folderElement.Path.TrimStart(Path.DirectorySeparatorChar));

            var relativeUrl = string.IsNullOrEmpty(folderElement.RelativeUrl)
                            ? folderElement.Path.Replace("\\", "/")
                            : folderElement.RelativeUrl;

            var folder = new Folder {
                Path          = path,
                RepositoryUrl = new Uri(new Uri(repositoryUrl), relativeUrl)
            };

            return(folder);
        }
        public void Remove_AddFileTo2LevelFoldersAndThenRemoveTheRootFile_TheRootFolderSizeIsCorrect()
        {
            var rootFolder = new FolderElement("root");
            var rootFile   = AddNewFile(rootFolder, "rootFile", 100);

            var leafLevel1Folder = new FolderElement("Leaf_Level_1");
            var leafLevel2Folder = new FolderElement("Leaf_Level_2");

            rootFolder.Add(leafLevel1Folder);
            leafLevel1Folder.Add(leafLevel2Folder);

            AddNewFile(leafLevel2Folder, 1000);

            // act
            rootFolder.Remove(rootFile);

            Assert.AreEqual(1000, rootFolder.Size);
        }
        // Initialize the directories as below
        // - root
        //    - root-file1.text
        //    - root-file2.text
        //    - sub
        //        - sub file1.txt
        //        - sub file2.txt
        private void InitTheElementsList()
        {
            var rootFolder = new FolderElement("root");
            var rootFile1  = new FileElement("root-file1.text", 100);
            var rootFile2  = new FileElement("root-file1.text", 100);
            var subFolder  = new FolderElement("sub");
            var subFile1   = new FileElement("sub file1.txt", 300);
            var subFile2   = new FileElement("sub file2.txt", 400);

            rootFolder.Add(rootFile1);
            rootFolder.Add(rootFile2);
            rootFolder.Add(subFolder);

            subFolder.Add(subFile1);
            subFolder.Add(subFile2);

            _SizeCounterViewModel.ElementList.Add(rootFolder);
        }
        public void StartCommand_NoExceptionWhenInspect_InpectResultIsAddedToElementList()
        {
            // Arrange
            var returnFolderElement = new FolderElement("test");

            _BusyIndicatorWindowStub.ExecuteAndWait(Arg.Any <string>(), Arg.Any <Func <FolderElement> >())
            .Returns(returnFolderElement);

            _BusyIndicatorWindowStub.IsSuccessfullyExecuted.Returns(true);


            // Act
            _SizeCounterViewModel.StartCmd.Execute(null);

            // Assert
            Assert.AreEqual(1, _SizeCounterViewModel.ElementList.Count);
            Assert.AreSame(returnFolderElement, _SizeCounterViewModel.ElementList[0]);
        }
        /// <summary>
        /// Deletes the entry recursive.
        /// </summary>
        /// <param name="node">The node.</param>
        private void DeleteEntryRecursive(Mediachase.Ibn.Data.Services.TreeNode node)
        {
            if (TreeManager.GetAllChildNodeCount(node) > 0)
            {
                foreach (Mediachase.Ibn.Data.Services.TreeNode childNode in TreeManager.GetAllChildNodes(node))
                {
                    DeleteEntryRecursive(childNode);
                }
            }

            int folderId = node.ObjectId;

            FolderElement[] elements = FolderElement.List <FolderElement>(FolderElement.GetAssignedMetaClass(), new FilterElement[] { new FilterElement("ParentId", FilterElementType.Equal, folderId) });
            foreach (FolderElement element in elements)
            {
                element.Delete();
            }
        }