AnimeDownloader.MainForm.objShows_SelectedIndexChanged C# (CSharp) Method

objShows_SelectedIndexChanged() private method

private objShows_SelectedIndexChanged ( object sender, EventArgs e ) : void
sender object
e System.EventArgs
return void
        private async void objShows_SelectedIndexChanged(object sender, EventArgs e)
        {
            if ((objShows.SelectedIndex != -1) && (_lastshowindex != objShows.SelectedIndex))
            {
                SetBusy(objEpisode, true);
                Show s = (Show)objShows.SelectedObject;
                labShowDescription.Text = s.Description;
                _selected_episodes = await DownloadPluginHandler.Instance.Episodes(s.PluginName, s);
                if (_selected_episodes.Status == ResponseStatus.Ok)
                {
                    objEpisode.Items.Clear();
                    _lastepisodeindex = -1;
                    labEpisodeDescription.Text = string.Empty;
                    pictEpisode.Image = null;
                    if ((_selected_episodes.Items.Any(a => a.SeasonAlpha != string.Empty)))
                    {
                        objEpisode.ShowGroups = true;
                        colEpisodeSeason.IsVisible = true;
                        objEpisode.RebuildColumns();
                        objEpisode.SetObjects(_selected_episodes.Items);
                        objEpisode.BuildGroups(colEpisodeSeason, SortOrder.Ascending);
                        objEpisode.BuildList(true);
                    }
                    else
                    {
                        colEpisodeSeason.IsVisible = false;
                        objEpisode.Groups.Clear();
                        objEpisode.ShowGroups = false;
                        objEpisode.RebuildColumns();
                        objEpisode.SetObjects(_selected_episodes.Items);
                        objEpisode.BuildList(true);
                    }
                    if (_selected_episodes.ImageUri != null)
                        picShow.LoadAsync(_selected_episodes.ImageUri.ToString());
                    if (_selected_episodes.Items.Count > 0)
                        objEpisode.SelectedIndex = 0;

                }
                SetBusy(objEpisode, false);

            }
        }