simplify deletion

This commit is contained in:
2019-09-05 21:01:44 +01:00
parent 7e8de55858
commit d7573d64a5
2 changed files with 18 additions and 33 deletions

View File

@ -104,17 +104,24 @@ namespace Yavsc.Helpers
user.DiskUsage -= fi.Length;
}
public static FsOperationInfo DeleteUserDir(this ApplicationUser user, string dirName)
public static FsOperationInfo DeleteUserDirOrFile(this ApplicationUser user, string dirName)
{
var root = Path.Combine(AbstractFileSystemHelpers.UserFilesDirName, user.UserName);
if (string.IsNullOrEmpty(dirName))
return new FsOperationInfo { Done = false, Error = "specify a dir name"} ;
return new FsOperationInfo { Done = false, Error = "specify a directory or file name"} ;
var di = new DirectoryInfo(Path.Combine(root, dirName));
if (!di.Exists) return new FsOperationInfo { Done = false, Error = "non existent"} ;
if (di.GetDirectories().Length>0 || di.GetFiles().Length>0)
return new FsOperationInfo { Done = false, Error = "not eñpty"} ;
di.Delete();
if (!di.Exists) {
var fi = new FileInfo(Path.Combine(root, dirName));
if (!fi.Exists) return new FsOperationInfo { Done = false, Error = "non existent"} ;
fi.Delete();
user.DiskUsage -= fi.Length;
}
else {
if (di.GetDirectories().Length>0 || di.GetFiles().Length>0)
return new FsOperationInfo { Done = false, Error = "not eñpty"} ;
di.Delete();
}
return new FsOperationInfo { Done = true };
}