public int Vote(int letter_id, string user_ip) { db_mysql db_mysql = new db_mysql(); db_mssql db_mssql = new db_mssql(); letter letterToView = (from l in db_mysql.letters where l.Id == letter_id select l).FirstOrDefault(); vote loveVote = new vote(); loveVote.letterID = letter_id; loveVote.voterIP = user_ip; loveVote.voteValue = 1; loveVote.voteDate = DateTime.Now; db_mssql.votes.Add(loveVote); db_mssql.SaveChanges(); db_mysql.letters.Attach(letterToView); var letter = db_mysql.Entry(letterToView); letter.Property(e => e.letterUp).IsModified = true; letterToView.letterUp = (short)(letterToView.letterUp + 1); db_mysql.SaveChanges(); return (int)letterToView.letterUp; }
public void Dequeue(int letter_id) { db_mssql db_mssql = new db_mssql(); Queued deque = (from m in db_mssql.Queueds where m.LetterID == letter_id && m.State == 0 select m).FirstOrDefault(); if (deque != null) { db_mssql.Queueds.Attach(deque); var entry = db_mssql.Entry(deque); entry.Property(e => e.State).IsModified = true; deque.State = 1; db_mssql.SaveChanges(); } }
public bool editLetter(int letter_id, string new_letter, string userip, string cookie_value, string user_name, bool is_user_mod) { db_mysql db_mysql = new db_mysql(); db_mssql db_mssql = new db_mssql(); Letter lucky = getLetter(letter_id); letter lucky_letter = Mapper.Map<Letter, letter>(lucky); HtmlUtility utility = HtmlUtility.Instance; edit new_edit = new edit(); new_edit.editComment = "Edited by " + user_name; new_edit.editor = user_name; new_edit.editDate = DateTime.Now; String letter_contents = utility.SanitizeHtml(new_letter); letter_contents = letter_contents.Replace("text-decoration%3a%20line-through%3b", "text-decoration: line-through"); letter_contents = letter_contents.Replace("text-decoration%3a%20underline%3b", "text-decoration: underline;"); new_edit.newLetter = letter_contents; new_edit.previousLetter = lucky.letterMessage; new_edit.status = "accepted"; new_edit.letterID = lucky.Id; new_edit.editDate = DateTime.UtcNow; db_mssql.edits.Add(new_edit); db_mysql.letters.Attach(lucky_letter); var letter = db_mysql.Entry(lucky_letter); letter.Property(e => e.letterMessage).IsModified = true; lucky_letter.letterMessage = letter_contents; db_mysql.SaveChanges(); db_mssql.SaveChanges(); return true; }
public bool editComment(string commentText, int id, string commenter_guid, string user_name) { db_mysql db_mysql = new db_mysql(); db_mssql db_mssql = new db_mssql(); Comment lucky_comment = getComment(id); comment comment = Mapper.Map<Comment, comment>(lucky_comment); HtmlUtility utility = HtmlUtility.Instance; edit new_edit = new edit(); new_edit.editComment = "Comment edited by " + user_name; new_edit.editor = user_name; new_edit.editDate = DateTime.Now; String comment_contents = utility.SanitizeHtml(commentText); new_edit.newLetter = comment_contents; new_edit.previousLetter = lucky_comment.commentMessage; new_edit.status = "accepted"; new_edit.letterID = lucky_comment.letterId; new_edit.editDate = DateTime.UtcNow; db_mssql.edits.Add(new_edit); db_mysql.comments.Attach(comment); var comment_var = db_mysql.Entry(comment); comment_var.Property(e => e.commentMessage).IsModified = true; comment.commentMessage = comment_contents; db_mysql.SaveChanges(); db_mssql.SaveChanges(); return true; }
public Letter PublishQueue() { db_mssql db_mssql = new db_mssql(); db_mysql db_mysql = new db_mysql(); List<Queued> qry = (from m in db_mssql.Queueds where m.State == 0 orderby m.LetterID ascending select m).ToList(); if (qry.Count() == 0) { return null; } Queued latest_unpublished_queued = qry.First(); letter latest_front_page = (from l in db_mysql.letters where l.letterLevel == 1 orderby l.letterPostDate descending select l).First(); letter lucky_letter = (from l in db_mysql.letters where l.Id == latest_unpublished_queued.LetterID select l).FirstOrDefault(); if (lucky_letter == null) { return null; } db_mysql.letters.Attach(lucky_letter); var letter = db_mysql.Entry(lucky_letter); letter.Property(e => e.letterLevel).IsModified = true; lucky_letter.letterLevel = 1; db_mssql.Queueds.Attach(latest_unpublished_queued); var queued = db_mssql.Entry(latest_unpublished_queued); queued.Property(e => e.State).IsModified = true; latest_unpublished_queued.State = 1; db_mysql.SaveChanges(); db_mssql.SaveChanges(); edit new_edit = new edit(); new_edit.editComment = "Published from queue."; new_edit.previousLetter = lucky_letter.letterMessage; new_edit.newLetter = lucky_letter.letterMessage; new_edit.editDate = DateTime.Now; new_edit.letterID = lucky_letter.Id; new_edit.status = "accepted"; new_edit.editor = "auto post"; db_mssql.edits.Add(new_edit); db_mssql.SaveChanges(); return Mapper.Map<letter, Letter>(lucky_letter); }
public void Queue(int letter_id, string user_name) { db_mssql db_mssql = new db_mssql(); db_mysql db_mysql = new db_mysql(); letter lucky = (from m in db_mysql.letters where m.Id.Equals(letter_id) select m).FirstOrDefault(); if (lucky != null) { edit new_edit = new edit(); new_edit.editComment = "Added to queue by " + user_name; new_edit.editor = user_name; new_edit.newLetter = lucky.letterMessage; new_edit.previousLetter = lucky.letterMessage; new_edit.status = "accepted"; new_edit.letterID = lucky.Id; new_edit.editDate = DateTime.UtcNow; Queued new_queued_letter = new Queued(); new_queued_letter.AddedToQueueDate = DateTime.UtcNow; new_queued_letter.LetterID = lucky.Id; new_queued_letter.PostDate = DateTime.UtcNow; new_queued_letter.QueueID = lucky.Id; new_queued_letter.State = 0; db_mssql.Queueds.Add(new_queued_letter); db_mssql.edits.Add(new_edit); db_mssql.SaveChanges(); } }
public bool unhideComment(int id, string commenter_guid, string user_name) { db_mysql db_mysql = new db_mysql(); db_mssql db_mssql = new db_mssql(); Comment lucky_comment = getComment(id); comment comment = Mapper.Map<Comment, comment>(lucky_comment); letter letter = (from m in db_mysql.letters where m.Id.Equals(lucky_comment.letterId) select m).FirstOrDefault(); HtmlUtility utility = HtmlUtility.Instance; edit new_edit = new edit(); new_edit.editComment = "Comment un-hidden by " + user_name; new_edit.editor = user_name; new_edit.editDate = DateTime.Now; new_edit.newLetter = lucky_comment.commentMessage; new_edit.previousLetter = lucky_comment.commentMessage; new_edit.status = "accepted"; new_edit.letterID = lucky_comment.letterId; new_edit.editDate = DateTime.UtcNow; db_mssql.edits.Add(new_edit); db_mysql.comments.Attach(comment); db_mysql.letters.Attach(letter); var comment_var = db_mysql.Entry(comment); var letter_var = db_mysql.Entry(letter); comment_var.Property(e => e.level).IsModified = true; comment.level = 0; letter_var.Property(e => e.letterComments).IsModified = true; letter.letterComments = letter.letterComments + 1; db_mysql.SaveChanges(); db_mssql.SaveChanges(); return true; }