From 5ffa67a65a5af662265bedaa7da086a10e0d4057 Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Tue, 11 Apr 2017 01:17:55 +0200 Subject: [PATCH] [Fixes] files sharing --- .../ViewModels/UserFiles/UserDirectoryInfo.cs | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/Yavsc/ViewModels/UserFiles/UserDirectoryInfo.cs b/Yavsc/ViewModels/UserFiles/UserDirectoryInfo.cs index ff1237c3..d5cef925 100644 --- a/Yavsc/ViewModels/UserFiles/UserDirectoryInfo.cs +++ b/Yavsc/ViewModels/UserFiles/UserDirectoryInfo.cs @@ -18,19 +18,23 @@ namespace Yavsc.ViewModels.UserFiles private DirectoryInfo dInfo; public UserDirectoryInfo(string username, string path) { + if (string.IsNullOrWhiteSpace(username)) + throw new NotSupportedException("No user name, no user dir."); UserName = username; - var finalPath = (path==null) ? username : username + Path.DirectorySeparatorChar + path; - if ( !finalPath.IsValidPath() ) + var finalPath = username; + if (!string.IsNullOrWhiteSpace(path)) + finalPath += Path.DirectorySeparatorChar + path; + if (!finalPath.IsValidPath()) throw new InvalidOperationException( $"File name contains invalid chars, using path {finalPath}"); - + dInfo = new DirectoryInfo( - Path.Combine(Startup.UserFilesDirName,finalPath)); + Startup.UserFilesDirName+Path.DirectorySeparatorChar+finalPath); Files = dInfo.GetFiles().Select - ( entry => new DefaultFileInfo { Name = entry.Name, Size = entry.Length, + ( entry => new DefaultFileInfo { Name = entry.Name, Size = entry.Length, CreationTime = entry.CreationTime, LastModified = entry.LastWriteTime }).ToArray(); - SubDirectories = dInfo.GetDirectories().Select + SubDirectories = dInfo.GetDirectories().Select ( d=> d.Name ).ToArray(); } } -} \ No newline at end of file +}