예제 #1
0
        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);
        }
예제 #2
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);
        }
예제 #3
0
        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);
        }
예제 #4
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);
        }