/*[Authorize]*/ public ActionResult ReplyMessage(MessageReplyViewModel vm, int messageId) { System.Diagnostics.Debug.WriteLine("Hello i am here ----%d-----------------------------------\n", messageId); /*var username = User.Identity.Name;*/ var username = (string)Session["UserLoggedIn"]; UserDAL usrDAL = new UserDAL(); ReplyDAL replyDAL = new ReplyDAL(); MessageDAL msgDAL = new MessageDAL(); string fullName = ""; if (!string.IsNullOrEmpty(username)) { var user = usrDAL.Users.SingleOrDefault(u => u.FirstName == username); fullName = string.Concat(new string[] { user.FirstName, " ", user.LastName }); } if (vm.Reply.ReplyMessage != null) { Reply _reply = new Reply(); _reply.ReplyDateTime = DateTime.Now; /*_reply.Id = messageId;*/ _reply.MessageId = messageId; _reply.ReplyFrom = fullName; _reply.ReplyMessage = vm.Reply.ReplyMessage; replyDAL.Replies.Add(_reply); replyDAL.SaveChanges(); } //reply to the message owner - using email template /* * var messageOwner = msgDAL.MessagesDal.Where(x => x.Id == messageId).Select(s => s.From).FirstOrDefault(); * var users = from user in usrDAL.Users * orderby user.FirstName * select new * { * FullName = user.FirstName + " " + user.LastName, * UserEmail = user.Email * }; * * var uemail = users.Where(x => x.FullName == messageOwner).Select(s => s.UserEmail).FirstOrDefault(); * SendGridMessage replyMessage = new SendGridMessage(); * replyMessage.From = new EmailAddress(username); * replyMessage.Subject = "Reply for your message :" + msgDAL.MessagesDal.Where(i => i.Id == messageId).Select(s => s.Subject).FirstOrDefault(); * replyMessage.PlainTextContent = vm.Reply.ReplyMessage; * * * * replyMessage.AddTo(uemail); */ /* * var credentials = new NetworkCredential("Team8_1337", "Team81337"); * CredentialCache myCache = new CredentialCache(); * myCache.Add(new Uri("www.contoso.com"), "Basic", myCred); * var transportweb = new WebRequest(credentials); * transportweb.DeliverAsync(replyMessage);*/ return(RedirectToAction("MessagePassing", "Forum", new { Id = messageId })); }
public ActionResult MessagePassing(int?Id, int?page) { int pageSize = 5; int pageNumber = (page ?? 1); MessageReplyViewModel vm = new MessageReplyViewModel(); ReplyDAL replyDAL = new ReplyDAL(); MessageDAL queDAL = new MessageDAL(); var count = queDAL.MessagesDal.Count(); decimal totalPages = count / (decimal)pageSize; ViewBag.TotalPages = Math.Ceiling(totalPages); vm.Messages = queDAL.MessagesDal .OrderBy(x => x.DatePosted).ToPagedList(pageNumber, pageSize); ViewBag.MessagesInOnePage = vm.Messages; ViewBag.PageNumber = pageNumber; if (Id != null) { var replies = replyDAL.Replies.Where(x => x.MessageId == Id.Value).OrderByDescending(x => x.ReplyDateTime); if (replies != null) { foreach (var rep in replies) { /* MessageReplyViewModel.MessageReply reply = new MessageReplyViewModel.MessageReply();*/ MessageReplyViewModel.MessageReply reply = new MessageReplyViewModel.MessageReply(); reply.MessageId = rep.MessageId; reply.Id = rep.Id; reply.ReplyMessage = rep.ReplyMessage; reply.ReplyDateTime = rep.ReplyDateTime; reply.MessageDetails = vm.Messages.Where(x => x.Id == rep.MessageId).Select(s => s.MessageToPost).FirstOrDefault(); reply.ReplyFrom = rep.ReplyFrom; vm.Replies.Add(reply); } } else { vm.Replies.Add(null); } ViewBag.MessageId = Id.Value; } return(View(vm)); }
public ActionResult DeleteMessage(int?Id) { int?num; num = Id; if (Session["AdminLoggedIn"] != null) { MessageDAL msgDAL = new MessageDAL(); ReplyDAL rplDAL = new ReplyDAL(); try { List <Message> msg = (from x in msgDAL.MessagesDal where x.Id == num select x).ToList <Message>(); Message msgToDelete = msg[0]; msgDAL.MessagesDal.Attach(msgToDelete); msgDAL.MessagesDal.Remove(msgToDelete); msgDAL.SaveChanges(); List <Reply> rpl = (from x in rplDAL.Replies where x.MessageId == num select x).ToList <Reply>(); foreach (var rplToDelete in rpl) { rplDAL.Replies.Attach(rplToDelete); rplDAL.Replies.Remove(rplToDelete); rplDAL.SaveChanges(); } }catch (Exception e) { } } else { TempData["WarningMessage"] = "Only Admin can delete posts."; return(RedirectToAction("MessagePassing", "Forum")); } return(RedirectToAction("MessagePassing", "Forum")); }