AnimeDownloader.MainForm.objUpdates_CellClick C# (CSharp) Method

objUpdates_CellClick() private method

private objUpdates_CellClick ( object sender, BrightIdeasSoftware.CellClickEventArgs e ) : void
sender object
e BrightIdeasSoftware.CellClickEventArgs
return void
        private async void objUpdates_CellClick(object sender, CellClickEventArgs e)
        {
            if ((e.ColumnIndex == olvUpdateDown.Index) && (objUpdates.SelectedIndex == e.RowIndex))
            {
                Episode ep=(Episode)objUpdates.SelectedObject;
                AddDownloadEpisode(ep);
            }
            else if ((e.ColumnIndex == olvUpdateFollow.Index) && (objUpdates.SelectedIndex == e.RowIndex) &&
                     (!_follow_start))
            {
                Episode ep = (Episode) objUpdates.SelectedObject;
                Show sel = null;
                foreach (Show s in objShows.Objects)
                {
                    if (s.Id == ep.ShowId)
                    {
                        sel = s;
                        break;
                    }
                }
                if (sel != null)
                {
                    if (Follows.Instance.IsFollow(sel.Id, sel.PluginName))
                    {
                        DeleteFollow(sel);
                    }
                    else
                    {
                        _follow_start = true;
                        Episodes result = await DownloadPluginHandler.Instance.Episodes(sel.PluginName, sel);
                        if (result.Status == ResponseStatus.Ok)
                        {
                            if (result.Items.Count > 0 &&
                                result.Items[0].ShowId == sel.Id)
                            {
                                FollowRequester(sel, result);
                            }
                        }
                        _follow_start = false;
                    }
                    RefreshStatus(ep.ShowId,ep.PluginName);
                }
            }
        }