public void InvalidMessage2() { Message m = new Message { ReceiverId = 1, Title = "This could be a title for a message", Content = "The content for a message could look like this" }; db.Messages.Add(m); db.SaveChanges(); }
public ActionResult MaakBericht(Mail berichtje) { // Kijk of de persoon is ingelogd if (!User.Identity.IsAuthenticated) ModelState.AddModelError("", "Je moet ingelogd zijn om een berichtje te versturen."); // get info of our current user var userSending = from userSend in db.Users where userSend.UserName.ToLower() == User.Identity.Name.ToLower() select userSend; // get info of the user to send to var userTo = from toUser in db.Users where toUser.UserName == berichtje.SendTo select toUser; // check if the user gave valid stuff back if (userTo.Count() != 1 || berichtje.SendTo == null) ModelState.AddModelError("", "De ingevoerde gebruiker bestaat niet."); if (ModelState.IsValid) { // if so create the message Message newMessage = new Message() { SenderId = userSending.First().UserID, Title = berichtje.Title, ReceiverId = userTo.First().UserID, Content = berichtje.Content }; db.Messages.Add(newMessage); db.SaveChanges(); return RedirectToAction("inbox", "user"); } return View(); }
// // GET: /Vraag/Delete/ID public ActionResult Delete(int id) { // check if we are logged in if (User.Identity.IsAuthenticated) { // get our rank int userRank = (from user in db.Users where user.UserName == User.Identity.Name select user.Rank).Single(); // get the question which we are trying to delete var questionDelete = (from vraag in db.Questions where vraag.QuestionID == id select vraag); // check if the rank is right and we got a right question if (userRank >= 3 && questionDelete.Count() == 1) { // Allowed to delete a question // so let's select the question var questionToDelete = questionDelete.First(); // let's select the person who made this question var userMetaPoster = (from userMeta in db.UserMeta where userMeta.UserId == questionToDelete.UserId select userMeta).Single(); // lower the amount of questions asked by this person with one userMetaPoster.Questions -= 1; // delete the question db.Questions.Remove(questionToDelete); // get all the question tags which were linked with this question var questionTagsDelete = from questionTag in db.QuestionTags where questionTag.QuestionId == id select questionTag; // get all the flaggs on this question var flags = from flag in db.Flags where flag.QuestionID == id select flag; // delete each foreach (var flag in flags) db.Flags.Remove(flag); // get all the votes on the question var votes = from vote in db.Votes where vote.QuestionID == id select vote; // remove each foreach (var vote in votes) db.Votes.Remove(vote); // go through all the tags linking to this question foreach (var vraagTag in questionTagsDelete) { // get the tag of this question var tags = (from tagjes in db.Tags where tagjes.TagID == vraagTag.TagId select tagjes).Single(); // lower the amount of questions in this tag with one tags.Count -= 1; // remove this QuestionTag db.QuestionTags.Remove(vraagTag); } // get all the awnsers given to this question var antwoorden = from antwoord in db.Answers where antwoord.QuestionId == id select antwoord; // Loopt through them foreach (var antwoordje in antwoorden) { // get all the comments on this awnser var commentsOnAwnser = from comments in db.Comments where comments.AnswerId == antwoordje.AnswerID select comments; // get all the votes on this answer var answerVotes = from answerVote in db.Votes where answerVote.AnswerID == antwoordje.AnswerID select answerVote; // delete those foreach (var vote in answerVotes) db.Votes.Remove(vote); // delete each comment foreach (var deleteComment in commentsOnAwnser) { // get all the flags on this comment var flagsComment = from flagCom in db.Flags where flagCom.CommentID == deleteComment.CommentID select flagCom; // delete each comment flag foreach (var flag in flagsComment) db.Flags.Remove(flag); // remove the actual comment db.Comments.Remove(deleteComment); } // get the stuff of the person who made this awnser var antwoordMeta = (from metaAntwoord in db.UserMeta where metaAntwoord.UserId == antwoordje.UserId select metaAntwoord).Single(); // lower the amount of awnser of this person with one antwoordMeta.Answers -= 1; // remove the awnser db.Answers.Remove(antwoordje); } // Get all the comments on this question var questionComments = from deleteQuestionComment in db.Comments where deleteQuestionComment.QuestionId == id select deleteQuestionComment; // Remove each one of them foreach (var commentQuestion in questionComments) { // get the flags on this question var flagsQuestion = from flagque in db.Flags where flagque.CommentID == commentQuestion.CommentID select flagque; // delete those db.Comments.Remove(commentQuestion); } // get the other stuff of the user who is deleting var userDeleting = (from usertje in db.Users where usertje.UserName == User.Identity.Name select usertje).Single(); // send a message to notify the delete Message newMessage = new Message() { Title = "Een vraag van u is verwijderd", Created_At = StringToDateTime.ToUnixTimeStamp(DateTime.Now), Content = "De volgende vraag is verwijderd:" + questionToDelete.Title + ". \n\nIndien u vragen heeft over het verwijderen van dit bericht kunt u een reactie op dit bericht versturen. \n\nDit bericht is verwijderd door: " + userDeleting.UserName + " \n\nWe wensen u nog een fijne dag.", ReceiverId = questionToDelete.UserId, SenderId = userDeleting.UserID }; // add the new message to the db db.Messages.Add(newMessage); // save the database db.SaveChanges(); // show a succes message ViewBag.Message = "De vraag is succesvol verwijderd."; } else { ViewBag.Message = "U mag geen vragen verwijderen of de vraag bestaat niet."; } } else { ViewBag.Message = "U bent niet ingelogd"; } if (Request.UrlReferrer.AbsolutePath.Contains("vraag")) return RedirectToAction("index", "default"); else return Redirect(Request.UrlReferrer.AbsolutePath); }
public void InvalidMessage4() { Message m = new Message { SenderId = 1, ReceiverId = 2, QuestionId = 1, Title = "This could be a title for a message", Content = "Too short" }; db.Messages.Add(m); db.SaveChanges(); }
public void InvalidMessage3() { Message m = new Message { SenderId = 1, ReceiverId = 2, QuestionId = 1, Title = "Too short", Content = "The content for a message could look like this" }; db.Messages.Add(m); db.SaveChanges(); }
public void DefaultsForMessage() { Message testMessage = new Message(); Assert.IsNotNull(testMessage.Created_At, "Datum van aanmaken mag niet null zijn"); Assert.IsTrue(testMessage.Created_At == StringToDateTime.ToUnixTimeStamp(DateTime.Now), "De Datum zou gelijk moeten zijn aan de DateTime.Now.ToString()"); }
public void InvalidMessage5() { Message m = new Message { SenderId = 1, ReceiverId = 2, QuestionId = 1, Title = "This is not a valid title, that is because a title for a message has a maximum of 140 characters, this one has a few more the 140 characters.", Content = "The content for a message could look like this" }; db.Messages.Add(m); db.SaveChanges(); }
// // GET: /Answer/Delete/AnswerID public ActionResult Delete(int id) { // Get the infor of the answer which should be deleted var AnswerDelete = from answerDelete in db.Answers where answerDelete.AnswerID == id select answerDelete; // and get the rank of this user int userRank = (from user in db.Users where user.UserName == User.Identity.Name select user.Rank).Single(); // if we found no answer of the rank is not right skip deleting if (AnswerDelete.Count() == 1 && userRank >= 2) { // delete this awnser var AwnserToDelete = AnswerDelete.First(); // remove the answer db.Answers.Remove(AwnserToDelete); // get all the votes on it var answerVotes = from answerVote in db.Votes where answerVote.AnswerID == id select answerVote; // loop through it and delete each foreach (var vote in answerVotes) db.Votes.Remove(vote); // get all the flags on a answer var flags = from flag in db.Flags where flag.AnswerID == id select flag; // loop through it and delete each foreach (var flag in flags) db.Flags.Remove(flag); // get the comments var commentsAwnsers = from comment in db.Comments where comment.AnswerId == id select comment; // and delete em foreach (var comment in commentsAwnsers) { db.Comments.Remove(comment); // get the possible flags on this comment var CommentFlag = from flag in db.Flags where flag.CommentID == comment.CommentID select flag; // delete each flag foreach (var comFlag in CommentFlag) db.Flags.Remove(comFlag); } // lower the amount of answers given by this person with one var userMetaAwnser = (from user in db.UserMeta where user.UserId == AwnserToDelete.UserId select user).Single(); userMetaAwnser.Answers -= 1; // get some stuff for generating a message var userDeleting = (from usertje in db.Users where usertje.UserName == User.Identity.Name select usertje).Single(); string questionTitle = (from vraag in db.Questions where vraag.QuestionID == AwnserToDelete.QuestionId select vraag.Title).Single(); // Create the message Message newMessage = new Message() { Title = "Uw antwoord is verwijderd op een vraag", ReceiverId = AwnserToDelete.UserId, SenderId = userDeleting.UserID, Created_At = StringToDateTime.ToUnixTimeStamp(DateTime.Now), Content = "Uw antwoord op de vraag " + questionTitle + " is verwijderd door " + userDeleting.UserName + ". Indien u meer wilt weten over de rede " + "kunt u reageren op dit bericht. Deze word dan verstuurd naar de persoon die hem verwijderd heeft. We wensen u nog een fijne dag." }; // add it to the db db.Messages.Add(newMessage); // and save db.SaveChanges(); } // should return us to the page we were at return Redirect(Request.UrlReferrer.AbsolutePath); }