public static void BrowseNew([DefaultValue(1)] long pageId)
        {
            List <Mod> mods = KerbalStuff.BrowseNew(pageId);

            if (mods.Count < 1)
            {
                WriteOutLine("Query yielded no results.");
            }
            else
            {
                foreach (Mod mod in mods)
                {
                    Console.WriteLine(mod);
                    Console.WriteLine();
                }
            }
        }
Example #2
0
        public static void Refresh(RefreshType refreshType = RefreshType.Last)
        {
            model.Nodes.Clear();
            if (refreshType == RefreshType.Last)
            {
                refreshType = LastRefresh;
            }

            View.ShowProcessing = true;
            EventDistributor.InvokeAsyncTaskStarted(Instance);

            AsyncTask <List <KsMod> > .DoWork(
                () =>
            {
                List <KsMod> mods = null;
                switch (refreshType)
                {
                default:
                case RefreshType.New:
                    mods = KerbalStuff.BrowseNew(View.Page);
                    break;

                case RefreshType.Top:
                    mods = KerbalStuff.BrowseTop(View.Page);
                    break;

                case RefreshType.Featured:
                    mods = KerbalStuff.BrowseFeatured(View.Page);
                    break;

                case RefreshType.Browse:
                    mods = KerbalStuff.Browse(View.Page);
                    break;
                }

                return(mods);
            },
                (result, ex) =>
            {
                View.ShowProcessing = false;
                EventDistributor.InvokeAsyncTaskDone(Instance);

                if (ex != null)
                {
                    Messenger.AddError(string.Format("Error during browsing KerbalStuff! {0}", ex), ex);
                }
                else
                {
                    if (KerbalStuff.LastResponse == null || result == null)
                    {
                        Messenger.AddError("Error during browsing KerbalStuff! Empty result");
                        return;
                    }

                    View.MaxPages       = KerbalStuff.LastResponse.pages;
                    View.CountLabelText = string.Format("Mods per page: {0}", KerbalStuff.LastResponse.count);

                    foreach (var mod in result)
                    {
                        model.Nodes.Add(new KerbalStuffNode(mod));
                    }
                }
            });
        }