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); }
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..."); } }