using DysonNetwork.Sphere.WebReader; namespace DysonNetwork.Sphere.Poll; public class PollWithStats : Poll { public PollAnswer? UserAnswer { get; set; } public Dictionary> Stats { get; set; } = new(); // question id -> (option id -> count) public static PollWithStats FromPoll(Poll poll, PollAnswer? userAnswer = null) { return new PollWithStats { Id = poll.Id, Title = poll.Title, Description = poll.Description, EndedAt = poll.EndedAt, PublisherId = poll.PublisherId, Publisher = poll.Publisher, Questions = poll.Questions, CreatedAt = poll.CreatedAt, UpdatedAt = poll.UpdatedAt, UserAnswer = userAnswer }; } } public class PollEmbed : EmbeddableBase { public override string Type => "poll"; public required Guid Id { get; set; } /// /// Do not store this to the database /// Only set this when sending the embed /// public PollWithStats? Poll { get; set; } }