public static bool TryFrom(string folder, string name, out FileResource resource, bool extensionOptional = false) { resource = FileName.TryFrom(name, out var parsedName, extensionOptional) ? new FileResource(FolderResource.From(folder), parsedName) : null; return(resource != null); }
public static bool TryFrom(string folder, string file, out FileLink link) { link = null; if (FolderLink.TryFrom(folder, out var parsedFolder)) { if (FileName.TryFrom(file, out var parsedFile)) { link = new FileLink(parsedFolder, parsedFile); } } return(link != null); }
public static bool TryFrom(string value, out FileResource resource, bool extensionOptional = false) { resource = null; var parsedFolder = FolderResource.From(value); var file = parsedFolder.Path.Segments.LastOrDefault()?.ToString(); if (file != null) { if (FileName.TryFrom(file, out var parsedFile, extensionOptional)) { if (!parsedFolder.TryUp(out var folderUp)) { folderUp = parsedFolder; } resource = new FileResource(folderUp, parsedFile); } } return(resource != null); }
public static bool TryFrom(string value, out FileLink link, bool extensionOptional = false) { link = null; if (FolderLink.TryFrom(value, out var parsedFolder)) { var file = parsedFolder.Resource.Path.Segments.LastOrDefault()?.ToString(); if (file != null) { if (FileName.TryFrom(file, out var parsedFile, extensionOptional)) { if (!parsedFolder.TryUp(out var folderUp)) { folderUp = parsedFolder; } link = new FileLink(folderUp, parsedFile); } } } return(link != null); }