Exemplo n.º 1
0
        private void DeleteDir_Executed(object sender, ExecutedRoutedEventArgs e)
        {
            Button Clicked = (Button)e.Parameter;
            IEditableDirWithChildrenAndParent Target = (IEditableDirWithChildrenAndParent)CurrentlyChosenDir;

            if (Clicked.Name == "DeleteMiddlebtn")
            {
                List<IEditableDirWithChildrenAndParent> TemporaryList = new List<IEditableDirWithChildrenAndParent>();
                for (int i = Target.ParentDir.Children.Count - 1; i > Target.ParentDir.Children.IndexOf(Target); i--)
                {
                    IEditableDirWithChildrenAndParent child = Target.ParentDir.Children[i];
                    if (Target.ParentDir.Children.IndexOf(child) > Target.ParentDir.Children.IndexOf(Target))
                    {
                        TemporaryList.Insert(TemporaryList.Count, child);
                        Target.ParentDir.DeleteChildDirFromList(child);
                    }
                }
                foreach (IEditableDirWithChildrenAndParent child in Target.Children)
                {
                    child.ParentDir = Target.ParentDir;
                    Target.ParentDir.AddChildToChildrenList(child);
                }
                Target.ParentDir.AddChildrenToChildrenList(TemporaryList);
            }
            Target.ParentDir.DeleteChildDirFromList(Target);

            CurrentlyChosen = null;
            CurrentlyChosenDir = null;
            AddMemento();
            sorteritno.ResetTree(ResTree, ResetHighlight, Seed, drzewo, "MW");
        }
Exemplo n.º 2
0
 /// <summary>
 /// Deletes folder from AllCreatedDirs
 /// </summary>
 /// <param name="dir">Dir to delete</param>
 public void DeleteDirFromAllCreatedDirs(IEditableDirWithChildrenAndParent dir)
 {
     if (dir == null)
     {
         throw new ArgumentNullException("dir is null ");
     }
     AllCreatedDirs.Remove(dir);
 }
Exemplo n.º 3
0
        public string AutoGenerateDirFullName(IEditableDirWithChildrenAndParent child)
        {
            child = child ?? throw new ArgumentNullException();
            string fullName = $"{child.ParentDir.Description.FullName}\\{child.Description.Name}";

            child.Description.FullName = fullName;
            return(fullName);
        }
Exemplo n.º 4
0
        private void PasteDir_Executed(object sender, ExecutedRoutedEventArgs e)
        {
            if (CurrentlyChosenDir.Description.FullName.Length < sorteritno.path_max_length)
            {
                IEditableDirWithChildrenAndParent childDir =
                               SaveAndReadElementInBinaryFile.GetDefaultInstance()
                               .ReadFromBinaryFile<IEditableDirWithChildrenAndParent>(@"C:..\..\..\TemporaryFiles\tempFile~Copy");
                if (sorteritno.GetDirCount(childDir) + sorteritno.dir_counter < sorteritno.dir_count_max)
                {

                    var validate = DirValidate.GetDefaultInstance();


                    if (validate.IsDirExistingAsFolderAndChild(CurrentlyChosenDir, childDir.Description.Name))
                    {
                        childDir.Description.Name = DirNameGenerator.GetDefaultInstance().GeneratetName_Default(CurrentlyChosenDir, 1, childDir.Description.Name);
                    }

                    childDir.ParentDir = CurrentlyChosenDir;

                    CurrentlyChosenDir.AddChildToChildrenList(childDir);
                    DirManagement.GetDefaultInstance().AutoGenerateChildrenFullName(CurrentlyChosenDir);

                    int result = PasteFullNameControl(CurrentlyChosenDir);
                    if(result > 0)
                    {
                        EMW = new ErrorMessageWindow();
                        EMW.SetMessage(4);
                        EMW.ShowDialog();
                    }



                    AddMemento();
                    sorteritno.ResetTree(ResTree, ResetHighlight, Seed, drzewo, "MW");
                }
                else
                {
                    EMW = new ErrorMessageWindow();
                    EMW.SetMessage(2);
                    EMW.ShowDialog();
                }
            }
            else
            {
                EMW = new ErrorMessageWindow();
                EMW.SetMessage(3);
                EMW.ShowDialog();
            }
        }
        // dodaje childDir
        public void AddChildToChildrenList(IEditableDirWithChildrenAndParent child)
        {
            if (DirValidate.IsNameExistingInChildrenDirs(this, child.Description.Name))
            {
                throw new InvalidOperationException($"folder named as {child.Description.Name}  exist in structure");
            }
            child.ParentDir = this;
            DirManagement.AutoGenerateDirFullName(child);

            if (DirValidate.IsfolderExisting(child.Description.FullName))
            {
                throw new InvalidOperationException("you can't create folder that exist");
            }
            Children.Add(child);
        }
 /// <summary>
 /// insert child in to Children list at the specified position
 /// </summary>
 /// <param name="children"></param>
 /// <param name="index"></param>
 public void AddChildOnSpecifiedIndex(IEditableDirWithChildrenAndParent children, int index)
 {
     Children.Insert(index, children);
 }
 //usuwa childDir
 public void DeleteChildDirFromList(IEditableDirWithChildrenAndParent child)
 {
     Children.Remove(child);
 }