public void AddChatToDatabase(Chat chat) { chat transposed = Mapper.Map<Chat, chat>(chat); db_mysql db = new db_mysql(); db.chats.Add(transposed); db.SaveChanges(); }
public List<Chat> PopulateChatMessagesFromDatabase(string room) { // check the database to see if there // are any -- load the most recent 200 // if yes db_mysql db = new db_mysql(); chat most_recent = (from m in db.chats orderby m.id descending select m).First(); List<chat> database_chats = new List<chat>(); if (room == "") { database_chats = (from m in db.chats orderby m.id ascending where m.id > most_recent.id - 200 select m).ToList(); } else { database_chats = (from m in db.chats orderby m.id ascending where m.id > most_recent.id - 200 && m.Room.Equals(room) select m).ToList(); } return Mapper.Map<List<chat>, List<Chat>>(database_chats); }
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 AddLetter(Letter letter) { db_mysql db_mysql = new db_mysql(); if (letter.Id == 0) { letter last_letter = db_mysql.letters.OrderByDescending(u => u.Id).FirstOrDefault(); letter.Id = last_letter.Id + 1; } letter new_letter = Mapper.Map<Letter, letter>(letter); db_mysql.letters.Add(new_letter); db_mysql.SaveChanges(); }
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 AddComment(Comment comment, Letter letter) { letter transposed = Mapper.Map<Letter, letter>(letter); db_mysql db_mysql = new db_mysql(); db_mysql.letters.Attach(transposed); var letter_obj = db_mysql.Entry(transposed); if (comment.level > -1) { letter_obj.Property(e => e.letterComments).IsModified = true; transposed.letterComments = transposed.letterComments + 1; } db_mysql.comments.Add(Mapper.Map<Comment, comment>(comment)); db_mysql.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 List<Letter> getQueuedLetters() { 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(); List<letter> queued_letters = new List<letter>(); foreach (Queued que in qry) { letter queued_letter = (from m in db_mysql.letters where m.Id == que.LetterID select m).FirstOrDefault(); if (queued_letter != null) { queued_letters.Add(queued_letter); } } return Mapper.Map<List<letter>, List<Letter>>(queued_letters); }
public string GetStats(string name) { String stats = ""; db_mysql db = new db_mysql(); if (name == "") { // return general stats stats = (from m in db.chats select m).Count() + " chats total."; } else { // ugh bad seth String fixed_name = name + ":"; // return user based stats stats = (from m in db.chats where m.Nick.ToLower().Equals(fixed_name.ToLower()) select m).Count() + " chats from '" + name + "'"; } return stats; }
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 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 List<Comment> getComments(int id, Boolean include_hidden) { db_mysql db_mysql = new db_mysql(); List<comment> comments = new List<comment>(); if (include_hidden == true) { comments = (from m in db_mysql.comments where m.letterId.Equals(id) && m.level != -2 select m).ToList(); } else { comments = (from m in db_mysql.comments where m.letterId.Equals(id) && m.level >= 0 select m).ToList(); } return Mapper.Map<List<comment>, List<Comment>>(comments); }
public int getCommentCount() { db_mysql db_mysql = new db_mysql(); return db_mysql.comments.Count(); }
public Comment getComment(int id) { db_mysql db_mysql = new db_mysql(); comment selected_comment = (from m in db_mysql.comments where m.Id.Equals(id) select m).FirstOrDefault(); return Mapper.Map<comment, Comment>(selected_comment); }
public List<Core.Model.Letter> search(string terms) { db_mysql db_mysql = new db_mysql(); List<letter> results = new List<letter>(); results = db_mysql.quickSearch(terms).ToList(); return Mapper.Map<List<letter>, List<Letter>>(results); }
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; }
public Letter getLetter(int id) { db_mysql db_mysql = new db_mysql(); letter letter = (from m in db_mysql.letters where m.Id.Equals(id) select m).FirstOrDefault(); return Mapper.Map<letter, Letter>(letter); }
public List<Letter> getLetters(int greater_than_level, int page, int _pagesize) { db_mysql db_mysql = new db_mysql(); List<letter> results = new List<letter>(); letter last = (from m in db_mysql.letters orderby m.Id descending select m).First(); int greater_than_amount = 0; switch (greater_than_level) { case -1: // assume that we can get our letters // in a maximum of (10+5)*(1)= 12 letters // for the first page... assumes 5 are hidden // per page of 10. // if we don't do this, it's mad slow... greater_than_amount = last.Id - ((_pagesize + 5) * page); break; case 0: greater_than_amount = 0; break; } var query = (from m in db_mysql.letters where m.letterLevel > greater_than_level && m.Id > greater_than_amount orderby m.Id descending select m); results = query.Skip((page - 1) * _pagesize).Take(_pagesize).ToList(); return Mapper.Map<List<letter>, List<Letter>>(results); }
public Core.Model.Letter getLatestFrontPageLetter() { db_mysql db_mysql = new db_mysql(); letter letter = (from l in db_mysql.letters where l.letterLevel == 1 orderby l.letterPostDate descending select l).First(); return Mapper.Map<letter, Letter>(letter); }
public List<Letter> getModLetters(int page, int _pagesize) { db_mysql db_mysql = new db_mysql(); List<letter> results = new List<letter>(); var query = (from m in db_mysql.letters where m.letterLevel == -10 orderby m.Id descending select m); results = query.Skip((page - 1) * _pagesize).Take(_pagesize).ToList(); return Mapper.Map<List<letter>, List<Letter>>(results); }
public void unhideLetter(int lucky_id, 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(lucky_id); if (lucky == null) { return; } edit new_edit = new edit(); new_edit.editComment = "Unhidden 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; db_mssql.edits.Add(new_edit); letter transformed; transformed = Mapper.Map<Letter, letter>(lucky); db_mysql.letters.Attach(transformed); var letter = db_mysql.Entry(transformed); letter.Property(e => e.letterLevel).IsModified = true; transformed.letterLevel = 0; letter.CurrentValues.SetValues(transformed); db_mysql.SaveChanges(); }
public List<Letter> searchDate(string terms, int year, int month, int day, int time_zone) { db_mysql db_mysql = new db_mysql(); List<letter> results = new List<letter>(); results = db_mysql.searchLettersByDate(terms, year, month, day, time_zone).ToList(); return Mapper.Map<List<letter>, List<Letter>>(results); }
public int getLetterCount() { db_mysql db_mysql = new db_mysql(); return db_mysql.letters.Count(); }
public Boolean Unsubscribe(string email, int letter_id) { Boolean result = false; db_mysql db_mysql = new db_mysql(); List<comment> comments = (from m in db_mysql.comments where m.letterId.Equals(letter_id) && m.commenterEmail.Equals(email) select m).ToList(); if (comments.Count > 0) { // update the settings so this user does not get emails // in the future foreach (comment cmt in comments) { db_mysql.comments.Attach(cmt); var letter_comment = db_mysql.Entry(cmt); letter_comment.Property(e => e.sendEmail).IsModified = true; cmt.sendEmail = false; db_mysql.SaveChanges(); } result = true; } return result; }
public Letter getLetterByTag(string guid) { db_mysql db_mysql = new db_mysql(); letter letter = (from m in db_mysql.letters where m.letterTags.Equals(guid) select m).FirstOrDefault(); return Mapper.Map<letter, Letter>(letter); }
public int getLetterCountMorePage() { db_mysql db_mysql = new db_mysql(); return (from m in db_mysql.letters where m.letterLevel >= 0 select m).Count(); }
public void facebookLetter(int lucky_id, long toFacebookUID, long fromFacebookUID, string userip, string cookie_value, string user_name, bool is_user_mod) { db_mysql db_mysql = new db_mysql(); Letter lucky = getLetter(lucky_id); if (lucky == null) { return; } letter transformed; transformed = Mapper.Map<Letter, letter>(lucky); db_mysql.letters.Attach(transformed); var letter = db_mysql.Entry(transformed); letter.Property(e => e.fromFacebookUID).IsModified = true; transformed.fromFacebookUID = fromFacebookUID; letter.Property(e => e.toFacebookUID).IsModified = true; transformed.toFacebookUID = toFacebookUID; letter.CurrentValues.SetValues(transformed); db_mysql.SaveChanges(); }
public List<Core.Model.Letter> getPopularLetters(Core.Model.Letter latest_front_page) { List<letter> results = new List<letter>(); db_mysql db_mysql = new db_mysql(); db_mssql db_mssql = new db_mssql(); List<TopListData_Result> top_votes = new List<TopListData_Result>(); top_votes = (from l in db_mssql.TopListData() where l.hearts > 5 select l).ToList(); List<long> top_votes_id = new List<long>(); top_votes_id = (from l in top_votes select l.letterID).ToList(); //results = (from z in db_mysql.letters where top_votes_id.Contains(z.Id) && z.letterLevel == 0 && z.letterPostDate > latest_front_page.letterPostDate orderby z.letterPostDate ascending select z).Take(500).ToList(); var foo = db_mysql.letters.AsQueryable<letter>() .Where(pop_letter => top_votes_id.Contains(pop_letter.Id) && pop_letter.letterLevel == 0 && pop_letter.letterPostDate > latest_front_page.letterPostDate).Take(500).ToList(); results = (from z in foo orderby z.letterPostDate ascending select z).ToList(); return Mapper.Map<List<letter>, List<Letter>>(results); }
public List<Comment> getRecentComments(int page) { db_mysql db_mysql = new db_mysql(); var query = (from m in db_mysql.comments where m.level.Value != -2 orderby m.Id descending select m); // hard coding page size, is it worth the extra parameter? it never changes List<comment> results = query.Skip((page - 1) * 10).Take(10).ToList(); return Mapper.Map<List<comment>, List<Comment>>(results); }
public Letter getLastLetterSent() { db_mysql db_mysql = new db_mysql(); letter letter = (from m in db_mysql.letters orderby m.Id descending select m).First(); return Mapper.Map<letter, Letter>(letter); }