示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        public static bool TryFrom(string folder, FileResource file, out FileLink link)
        {
            link = FolderLink.TryFrom(folder, out var parsedFolder) ? From(parsedFolder, file) : null;

            return(link != null);
        }