Beispiel #1
0
        private void ReadPostFromReader(SQLiteDataReader reader, Post post)
        {
            post.id     = reader.GetField <string>("id");
            post.author = reader.GetField <string>("author");
            post.html   = reader.GetField <string>("html");
            post.text   = reader.GetField <string>("text");
            post.ups    = reader.GetField <long>("ups");
            post.link   = reader.GetField <string>("permalink");
            post.title  = reader.GetField <string>("title");

            post.creation    = DateTimeOffset.FromUnixTimeSeconds(reader.GetField <long>("timestamp"));
            post.state       = Util.EnumParse <PostState>(reader.GetField <string>("state"));
            post.flavorTitle = reader.GetField <string>("flavorTitle");

            var reports      = new List <Post.Report>();
            var reportReader = readReportsFor.ExecuteReader(new Dictionary <string, object>()
            {
                ["postId"] = post.id,
            });

            while (reportReader.Read())
            {
                reports.Add(new Post.Report
                {
                    reason = GetReportType(reportReader.GetField <string>("reportTypeId")),
                    count  = reportReader.GetField <long>("count"),
                });
            }
            reportReader.Close();

            post.reports = reports.OrderBy(report => report.count).ToArray();
        }
Beispiel #2
0
 private void ReadReportTypeFromReader(SQLiteDataReader reader, ReportType reportType)
 {
     reportType.id       = reader.GetField <string>("id");
     reportType.category = Util.EnumParse <ReportCategory>(reader.GetField <string>("category"));
 }