private void ModelSaberApi_DownloadCompleted(object sender, ModelSaber.Events.DownloadCompletedEventArgs e)
        {
            ModelSaberDownloadingUserControl downloadingUserControl = GetDownloadingModelSaber(e.Model);

            if (downloadingUserControl is null)
            {
                return;
            }

            ModelSaberCompletedUserControl completedUserControl = new ModelSaberCompletedUserControl(e.Model, downloadingUserControl.ViewModel.ToDownload);

            userControl.stackPanelDownloading.Children.Remove(downloadingUserControl);
            DownloadingCount--;
            userControl.stackPanelCompleted.Children.Insert(0, completedUserControl);
            CompletedCount++;
        }
        private ModelSaberCompletedUserControl GetCompletedModelSaber(OnlineModel model)
        {
            ModelSaberCompletedUserControl completedUserControl = null;

            foreach (object obj in userControl.stackPanelCompleted.Children)
            {
                if (obj is ModelSaberCompletedUserControl control)
                {
                    if (control.ViewModel.Model == model)
                    {
                        completedUserControl = control;
                        break;
                    }
                }
            }

            return(completedUserControl);
        }
        private void ModelSaberApi_DownloadFailed(object sender, ModelSaber.Events.DownloadFailedEventArgs e)
        {
            ModelSaberDownloadingUserControl downloadingUserControl = GetDownloadingModelSaber(e.Model);
            ModelSaberCompletedUserControl   completedUserControl   = GetCompletedModelSaber(e.Model);
            ModelSaberFailedUserControl      failedUserControl      = new ModelSaberFailedUserControl(e.Model, e.Exception);

            userControl.stackPanelFailed.Children.Insert(0, failedUserControl);
            FailedCount++;

            if (downloadingUserControl != null)
            {
                userControl.stackPanelDownloading.Children.Remove(downloadingUserControl);
                DownloadingCount--;
            }
            else if (completedUserControl != null)
            {
                userControl.stackPanelCompleted.Children.Remove(completedUserControl);
                CompletedCount--;
            }
        }