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"); }
/// <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); }
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); }
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); }