public void MoveChild(string name, string newName) { if (!ChildrenFiles.ContainsKey(name)) { Console.WriteLine($"File '{name}' doesn't exist!"); } else if (name != newName) { var node = ChildrenFiles[name]; node.Name = newName; if ((node.Permission & PermissionType.Excute) != 0) { if (AddChildrenDir(newName)) { ChildrenFiles[newName] = node; } } else { if (AddChildrenFile(newName)) { ChildrenFiles[newName] = node; } } ChildrenFiles.Remove(name); } }
public void ShowChildContent(string name) { if (!ChildrenFiles.ContainsKey(name)) { Console.WriteLine($"File '{name}' doesn't exist!"); } else { ChildrenFiles[name].ShowContent(); } }
public void ChangePermission(string name, string op, string mod) { if (!ChildrenFiles.ContainsKey(name)) { Console.WriteLine($"File '{name}' doesn't exist!"); } else { var node = ChildrenFiles[name]; switch (op) { case "-": if (mod.Contains("w")) { node.Permission &= ~PermissionType.Write; } if (mod.Contains("r")) { node.Permission &= ~PermissionType.Read; } break; case "+": if (mod.Contains("w")) { node.Permission |= PermissionType.Write; } if (mod.Contains("r")) { node.Permission |= PermissionType.Read; } break; case "=": if (mod.Contains("w")) { node.Permission &= ~PermissionType.Read; node.Permission = PermissionType.Write; } if (mod.Contains("r")) { node.Permission &= ~PermissionType.Write; node.Permission = PermissionType.Read; } break; } } }
public void RemoveChild(string name) { if (!ChildrenFiles.ContainsKey(name)) { Console.WriteLine($"File '{name}' doesn't exist!"); } else { ChildrenFiles.Remove(name); } }
public bool AddChildrenDir(string name) { var child = new FileNode(this, name, PermissionType.Read | PermissionType.Write | PermissionType.Excute, true); if (ChildrenFiles.ContainsKey(name)) { Console.WriteLine("Dir with the same pathname exists!"); return(false); } ChildrenFiles.Add(name, child); return(true); }