Пример #1
0
        private void SetProgressLabel(ProgressLabel label, ParsingProgress progress)
        {
            string type = string.Empty;

            switch (progress.CurrentAction)
            {
                case ParsingAction.MediaInfo:
                case ParsingAction.LocalScan:
                    type = "files";
                    break;

                case ParsingAction.IdentifyNewSeries:
                case ParsingAction.UpdateSeries:                
                case ParsingAction.UpdateBanners:
                case ParsingAction.UpdateFanart:
                case ParsingAction.GetNewBanners:
                case ParsingAction.GetNewFanArt:
                case ParsingAction.GetNewActors:
                case ParsingAction.UpdateCommunityRatings:
                case ParsingAction.UpdateUserFavourites:
                case ParsingAction.UpdateUserRatings:
                case ParsingAction.UpdateEpisodeCounts:
                case ParsingAction.CleanupEpisodes:
                    type = "series";
                    break;

                case ParsingAction.IdentifyNewEpisodes:
                case ParsingAction.UpdateEpisodes:                
                case ParsingAction.UpdateEpisodeThumbNails:
                    type = "episodes";
                    break;

                default:
                    type = "items";
                    break;
            }

            if (progress.CurrentItem == -1) // indicates whole step is done
            {
                label.Status = ProgressLabelStatus.Finished;
                label.Progress.Text = string.Format("{0} {1} processed", progress.TotalItems, type);
            }
            else
            {
                label.Status = ProgressLabelStatus.InProgress;
                string item = progress.CurrentProgress == null ? string.Empty : ("(" + progress.CurrentProgress + ") ");
                label.Progress.Text = string.Format("{1} of {2} {3} {0}", item, progress.CurrentItem, progress.TotalItems, type);
            }
        }