Exemple #1
0
    public static string WriteCompletedGame(
        MainForm.Status status,
        string statusNote,
        int rating,
        string notes
        )
    {
        var jsonString = File.ReadAllText("played-games.json");
        var entries    = JsonSerializer.Deserialize <List <PlayedDataEntry> >(jsonString);
        var last       = entries !.Last();

        last.Status     = ToJsonStatus(status);
        last.StatusNote = statusNote != "" ? statusNote : null;
        last.Rating     = rating;
        last.Notes      = notes;
        last.Markdown   = true;
        last.Shortname  = MakeShortname(last.Game, entries !.Select(e => e.Shortname !).ToList());

        var today = DateTime.Today;

        last.CompletionDate = $"{today.Year}-{today.Month}-{today.Day}";

        var options = new JsonSerializerOptions {
            WriteIndented = true
        };

        File.WriteAllText("played-games.json", JsonSerializer.Serialize(entries, options));

        return(last.Shortname);
    }
Exemple #2
0
    private static string?ToJsonStatus(MainForm.Status status)
    {
        switch (status)
        {
        case MainForm.Status.Complete:
            return("complete");

        case MainForm.Status.Other:
            return("other");

        case MainForm.Status.NotComplete:
            return("not-complete");

        default:
            throw new Exception("Unknown status...");
        }
    }