public async Task SearchByFile()
 {
     try
     {
         IsLoading    = true;
         SearchResult = await SubtitleClient.SearchSubtitlesFromFile(Language, FilePath);
     }
     finally
     {
         IsLoading = false;
     }
 }
 public async Task SearchByImdbId()
 {
     try
     {
         IsLoading    = true;
         SearchResult = await SubtitleClient.SearchSubtitlesFromImdb(Language, ImdbId, SeasonNumber, EpisodeNumber);
     }
     finally
     {
         IsLoading = false;
     }
 }
 public async Task SearchByName()
 {
     try
     {
         IsLoading    = true;
         SearchResult = await SubtitleClient.SearchSubtitlesFromQuery(Language, Name, SeasonNumber, EpisodeNumber);
     }
     finally
     {
         IsLoading = false;
     }
 }
        public async Task Download(Subtitle subtitle)
        {
            string path = null;

            if (!String.IsNullOrWhiteSpace(FilePath))
            {
                string folderPath = Path.GetDirectoryName(FilePath);
                if (Directory.Exists(folderPath))
                {
                    path = folderPath;
                }
            }
            else if (!String.IsNullOrWhiteSpace(LocalPath))
            {
                if (Directory.Exists(LocalPath))
                {
                    path = LocalPath;
                }
            }

            SaveFileDialogService.Filter = SubtitleFilter;
            if (SaveFileDialogService.ShowDialog(null, path, subtitle.SubtitleFileName))
            {
                try
                {
                    await SubtitleClient.DownloadSubtitleToPath(SaveFileDialogService.File.DirectoryName, subtitle, SaveFileDialogService.SafeFileName());
                }
                catch (Exception e)
                {
                    Journal.WriteError(e);

                    MessageViewModel viewModel = MessageViewModel.FromException(e);
                    Messenger.Default.Send(viewModel);
                }
            }
        }
 public SubtitleSearchViewModel()
 {
     SubtitleClient = new SubtitleClient();
     Language       = Properties.Resources.Culture.ThreeLetterISOLanguageName;
 }