public AudioFilePreviewVm(ISimpleFileInfo fileInfo, IBasicTrackInfo trackInfo) : base(fileInfo)
 {
     ArtistName = trackInfo.ArtistName;
     AlbumTitle = trackInfo.AlbumTitle;
     Year       = trackInfo.Year;
     TrackName  = trackInfo.TrackName;
 }
Пример #2
0
        private ImageFilePreviewVm CreateImageFilePreviewVm(ISimpleFileInfo file)
        {
            var imageSource  = new ImageSourceConverter().ConvertFromString(file.Info.FullName) as ImageSource;
            var imagePreview = new ImageFilePreviewVm(file, imageSource);

            return(imagePreview);
        }
Пример #3
0
        public IMusicDirInfo AnalyzeMusicDirectory(ISimpleFileInfo dirSFi)
        {
            var mdi = new MusicDirInfo();

            mdi.Path = dirSFi.Path;
            //сортировка файлов и каталогов по типу
            foreach (var sfi in dirSFi.Children)
            {
                switch (sfi.Type)
                {
                case SfiType.Directory:
                    //проверка на каталог с изображениями
                    if (CheckIfOnlyImageSubDirectory(sfi))
                    {
                        mdi.ImageDirectories.Add(sfi);
                        continue;
                    }
                    //проверка на вложенный альбом
                    if (CheckIfAudioFileSubDirectory(sfi))
                    {
                        mdi.SubDirectories.Add(sfi);
                        continue;
                    }
                    //проверка на вложенные каталоги
                    if (CheckIfHasSubdirectories(sfi))
                    {
                        mdi.SubDirectories.Add(sfi);
                    }
                    mdi.SubDirectories.Add(sfi);
                    break;

                case SfiType.AudioFile:
                    mdi.TrackList.Add(sfi);
                    var trackInfo = _musicFileAnalyzer.GetBasicAlbumInfoFromAudioFile(sfi.Info);
                    mdi.TrackInfos.Add(trackInfo);
                    break;

                case SfiType.ImageFile:
                    mdi.ImageFiles.Add(sfi);
                    break;

                case SfiType.TextFile:
                    mdi.TextFiles.Add(sfi);
                    break;

                case SfiType.Unknown:
                    mdi.UnknownFiles.Add(sfi);
                    break;

                default:
                    throw new ArgumentException();
                }
            }

            return(mdi);
        }
Пример #4
0
 private bool CheckIfAudioFileSubDirectory(ISimpleFileInfo dirSfi)
 {
     return(dirSfi.Children.Any(fi => fi.Type == SfiType.AudioFile));
 }
Пример #5
0
 private bool CheckIfOnlyImageSubDirectory(ISimpleFileInfo dirSfi)
 {
     return(dirSfi.Children.All(fi => fi.Type == SfiType.ImageFile) & (dirSfi.Children.Count <= 10));
 }
Пример #6
0
 //TODO:Add more checks
 private bool CheckIfHasSubdirectories(ISimpleFileInfo dirSfi)
 {
     return(dirSfi.Children.Any(fi => fi.Type == SfiType.Directory));
 }
Пример #7
0
 protected FilePreviewVmBase(ISimpleFileInfo fileInfo)
 {
     ItemName = fileInfo.Name;
 }
Пример #8
0
 public void DeleteFile(ISimpleFileInfo simpleFi)
 {
     DeleteFile(simpleFi.Path);
 }
Пример #9
0
 public void MoveFileWithAutomaticRenaming(ISimpleFileInfo sourceFi, string targetDirectory)
 {
     MoveFileWithAutomaticRenaming(sourceFi.Path, targetDirectory);
 }
Пример #10
0
 public void MoveFile(ISimpleFileInfo sourceFi, string targetDirectory, string newFileName = default)
 {
     MoveFile(sourceFi.Path, targetDirectory, newFileName);
 }
Пример #11
0
 private TextFilePreviewVm CreateTextFilePreviewVm(ISimpleFileInfo file)
 {
     return(new TextFilePreviewVm(file));
 }
Пример #12
0
        private AudioFilePreviewVm CreateAudioFilePreviewVm(ISimpleFileInfo file)
        {
            var basicTrackInfo = _musicFileAnalyzer.GetBasicAlbumInfoFromAudioFile(file.Info);

            return(new AudioFilePreviewVm(file, basicTrackInfo));
        }
 public ImageFilePreviewVm(ISimpleFileInfo fileInfo, ImageSource imageSource) : base(fileInfo)
 {
     Image = imageSource;
 }
Пример #14
0
 public TextFilePreviewVm(ISimpleFileInfo fileInfo) : base(fileInfo)
 {
     SetPreviewText(fileInfo);
 }