Exemplo n.º 1
0
        public async Task Report(int postId, string reason)
        {
            try
            {
                var post = _db.Post.First(p => p.PostId == postId);

                var report = new Report
                {
                    BoardId  = post.BoardId,
                    ThreadId = post.ThreadId,
                    PostId   = post.PostId,
                    Reason   = reason,
                    ReportTimeInUnixSeconds = DateTimeOffset.Now.ToUnixTimeSeconds(),
                };

                _db.Report.Add(report);
                _db.SaveChanges();

                await LogIntoFile(_logDirectory, string.Concat
                                      ("Added new report: ", report.PostId, "\t", report.Reason),
                                  LoggingInformationKind.Info);
            }
            catch (Exception e)
            {
                await LogIntoFile(_logDirectory, string.Concat(e.Message, "\n", e.StackTrace),
                                  LoggingInformationKind.Error);

                Console.WriteLine(e);
            }
        }
Exemplo n.º 2
0
        public static void AddThreadToBoard(MenherachanContext db, ref Post firstThreadPost)
        {
            var thread = new Thread
            {
                AnonName = firstThreadPost.AnonName,
                BoardId  = firstThreadPost.BoardId,
                OpIpHash = firstThreadPost.AnonIpHash,
                IsClosed = false
            };

            db.Thread.Add(thread);
            db.SaveChanges();

            firstThreadPost.ThreadId          = thread.ThreadId;
            firstThreadPost.TimeInUnixSeconds = DateTimeOffset.Now.ToUnixTimeSeconds();

            db.Post.Add(firstThreadPost);
            db.SaveChanges();
        }
Exemplo n.º 3
0
 public static void AddFilesToPost(MenherachanContext db, Post post, FileInformation info)
 {
     db.File.Add(new File
     {
         BoardId       = post.BoardId,
         ThreadId      = post.ThreadId,
         PostId        = post.PostId,
         FileName      = info.FileName,
         ThumbnailName = info.ThumbnailName,
         Info          = $"{info.Information}"
     });
     db.SaveChanges();
 }
Exemplo n.º 4
0
        public static void AddPostToThread(MenherachanContext db, Post post, bool sage, bool isWrittenByOp = false)
        {
            var thread = db.Thread.First(t => t.ThreadId == post.ThreadId);

            if (thread == null)
            {
                throw new InvalidOperationException();
            }

            if (!sage)
            {
                thread.BumpInUnixTime = DateTimeOffset.Now.ToUnixTimeSeconds();
            }

            post.IsWrittenByOp = isWrittenByOp;

            db.Post.Add(post);
            db.SaveChanges();
        }