public ActionResult PostMessage(MessageReplyViewModel vm) { Console.WriteLine("Hello i am here ---------------------------------------\n"); UserDAL usrDAL = new UserDAL(); MessageDAL msgDAL = new MessageDAL(); /*var username = User.Identity.Name;*/ var username = (string)Session["UserLoggedIn"]; string fullName = ""; int msgid = 0; if (!string.IsNullOrEmpty(username)) { var user = usrDAL.Users.SingleOrDefault(u => u.FirstName == username); fullName = string.Concat(new string[] { user.FirstName, " ", user.LastName }); } Message messagetoPost = new Message(); if (vm.Message.Subject != string.Empty && vm.Message.MessageToPost != string.Empty) { messagetoPost.DatePosted = DateTime.Now; messagetoPost.Subject = vm.Message.Subject; messagetoPost.MessageToPost = vm.Message.MessageToPost; messagetoPost.From = fullName; msgDAL.MessagesDal.Add(messagetoPost); msgDAL.SaveChanges(); msgid = messagetoPost.Id; } return(RedirectToAction("MessagePassing", "Forum", new { Id = msgid })); }
public ActionResult Create(MessageReplyViewModel vm, string Subject, string MessageToPost) { var username = User.Identity.Name; string fullName = ""; int msgid = 0; if (!string.IsNullOrEmpty(username)) { fullName = username; } Message messagetoPost = new Message(); if (Subject != string.Empty && MessageToPost != string.Empty) { messagetoPost.DatePosted = DateTime.Now; messagetoPost.Subject = Subject; messagetoPost.MessageToPost = MessageToPost; messagetoPost.From = fullName; db.Messages.Add(messagetoPost); db.SaveChanges(); msgid = messagetoPost.Id; } //return RedirectToAction("Index", "Contestants", new { Id = msgid }); //return PartialView("_ChallengeSection", vm); //viewModel=your viewModel //return PartialView("_ChallengeSection", vm); return(Json(new { Url = "Contestants/Index" }, JsonRequestBehavior.AllowGet)); }
public ActionResult PostMessage(MessageReplyViewModel vm) { var username = User.Identity.Name; string fullName = ""; int msgid = 0; if (!string.IsNullOrEmpty(username)) { var user = dbContext.Users.SingleOrDefault(u => u.UserName == username); fullName = user.fullname; } Message messagetoPost = new Message(); if (vm.Message.Subject != string.Empty && vm.Message.MessageToPost != string.Empty) { messagetoPost.DatePosted = DateTime.Now; messagetoPost.Subject = vm.Message.Subject; messagetoPost.MessageToPost = vm.Message.MessageToPost; messagetoPost.From = fullName; db.Messages.Add(messagetoPost); db.SaveChanges(); msgid = messagetoPost.Id; } return(RedirectToAction("Index2", "Home", new { Id = msgid })); }
public ActionResult PostMessage(MessageReplyViewModel vm, int?idTarea) { var username = User.Identity.Name; string fullName = ""; int msgid = 0; if (!string.IsNullOrEmpty(username)) { var user = dbContext.Users.SingleOrDefault(u => u.UserName == username); fullName = string.Concat(new string[] { user.FirstName, " ", user.LastName }); } Message messagetoPost = new Message(); if (vm.Message.Subject != string.Empty && vm.Message.MessageToPost != string.Empty) { messagetoPost.DatePosted = DateTime.Now; messagetoPost.Subject = vm.Message.Subject; messagetoPost.MessageToPost = vm.Message.MessageToPost; messagetoPost.From = fullName; messagetoPost.TareaID = idTarea; dbContext.Messages.Add(messagetoPost); //dbContext.Entry(messagetoPost.Message_Tarea).State = EntityState.Unchanged; dbContext.SaveChanges(); msgid = messagetoPost.Id; } return(RedirectToAction("Index", "Mensajes", new { Id = msgid, idTarea = idTarea })); }
public async Task <ActionResult> Reply(MessageReplyViewModel message) { if (!ModelState.IsValid) { PreventSpamAttribute.Reset(HttpContext); if (Request.IsAjaxRequest()) { return(new JsonResult(CommandResponse.FromStatus(Status.Invalid, ModelState.GetFirstErrorMessage()))); } else { return(View()); } } if (message.ID <= 0) { return(RedirectToAction("Sent", "Messages")); } var cmd = new SendMessageReplyCommand(message.ID, message.Body).SetUserContext(User); var response = await cmd.Execute(); return(JsonResult(response)); }
public ActionResult Index(int?Id, int?page) { int pageSize = 3; int pageNumber = (page ?? 1); MessageReplyViewModel vm = new MessageReplyViewModel() { Contestants = db.Contestants.OrderByDescending(x => x.ID).Take(10).ToList(), Categories = db.Categories.ToList(), KnownTalents = db.KnownTalents.ToList(), Blogs = db.Blogs.ToList(), ChallengeVideos = db.ChallengeVideos.ToList() }; var count = db.Messages.Count(); decimal totalPages = count / (decimal)pageSize; ViewBag.TotalPages = Math.Ceiling(totalPages); vm.Messages = db.Messages .OrderByDescending(x => x.DatePosted).ToPagedList(pageNumber, pageSize); ViewBag.MessagesInOnePage = vm.Messages; ViewBag.PageNumber = pageNumber; if (Id != null) { var replies = db.Replies.Where(x => x.MessageId == Id.Value).OrderByDescending(x => x.ReplyDateTime).ToList(); if (replies != null) { foreach (var rep in replies) { MessageReplyViewModel.MessageReply reply = new MessageReplyViewModel.MessageReply(); reply.ReplyVideo = rep.ReplyVideo; reply.MessageId = rep.MessageId; reply.Id = rep.Id; reply.ReplyMessage = rep.ReplyMessage; reply.ReplyDateTime = rep.ReplyDateTime; reply.MessageDetails = db.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; } if (Request.IsAjaxRequest()) { //viewModel=your viewModel return(PartialView("_ChallengeSection", vm)); } else { return(View(vm)); } }
/*[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 PostMessage(MessageReplyViewModel vm) { //var username = User.Identity.Name; //string fullName = ""; int msgid = 0; int teacherid = Convert.ToInt32(Session["Student"]); int tempclassid; int originalclassid; string Regno; var getteacherid = dbContext.Students.Find(teacherid); tempclassid = getteacherid.Class_Id; Regno = getteacherid.RegNo; var classid1 = dbContext.Tbl_Class.Where(x => x.Class_Id == tempclassid).SingleOrDefault(); originalclassid = classid1.Class_Id; //AB enroll course wala dropdown ajayega CourseDBHandle gc = new CourseDBHandle(); List <tblEnrollStudentInCourseValidation> list = gc.GetSudentEnrollCourse(Regno, originalclassid); ViewBag.course = new SelectList(list, "courseId", "courseName"); int schoolid; int classid; schoolid = getteacherid.School_Id; classid = getteacherid.Class_Id; //if (!string.IsNullOrEmpty(username)) //{ // var user = dbContext.loginTables.SingleOrDefault(u => u.Name == username); // fullName = string.Concat(new string[] { user.Name }); //} Message messagetoPost = new Message(); if (vm.Message.Subject != string.Empty && vm.Message.MessageToPost != string.Empty) { messagetoPost.DatePosted = DateTime.Now; messagetoPost.Subject = vm.Message.Subject; messagetoPost.MessageToPost = vm.Message.MessageToPost; messagetoPost.From = Session["StudentName"].ToString(); messagetoPost.Class_Id = classid; messagetoPost.Role_ID = 4; messagetoPost.UserId = teacherid; messagetoPost.courseId = vm.Message.courseId; messagetoPost.SchoolId = schoolid; dbContext.Messages.Add(messagetoPost); dbContext.SaveChanges(); msgid = messagetoPost.Id; } return(RedirectToAction("Index", "Message", new { Id = msgid, courseid = vm.Message.courseId })); }
public ActionResult Index(int?Id, int?page, int?courseid) { int teacherid = Convert.ToInt32(Session["Student"]); int schoolid; int classid; //int courseid = Convert.ToInt32(TempData["course"]); var getteacherid = dbContext.Students.Find(teacherid); schoolid = getteacherid.School_Id; classid = getteacherid.Class_Id; int pageSize = 5; int pageNumber = (page ?? 1); MessageReplyViewModel vm = new MessageReplyViewModel(); var count = dbContext.Messages.Count(); decimal totalPages = count / (decimal)pageSize; ViewBag.TotalPages = Math.Ceiling(totalPages); vm.Messages = dbContext.Messages.Where(x => x.Class_Id == classid && x.SchoolId == schoolid && x.courseId == courseid).OrderBy(x => x.DatePosted).ToPagedList(pageNumber, pageSize); ViewBag.MessagesInOnePage = vm.Messages; ViewBag.PageNumber = pageNumber; if (Id != null) { var replies = dbContext.Replies.Where(x => x.MessageId == Id.Value).OrderByDescending(x => x.ReplyDateTime).ToList(); if (replies != null) { foreach (var rep in replies) { MessageReplyViewModel.MessageReply reply = new MessageReplyViewModel.MessageReply(); reply.MessageId = rep.MessageId; reply.Id = rep.Id; reply.ReplyMessage = rep.ReplyMessage; reply.ReplyDateTime = rep.ReplyDateTime; reply.MessageDetails = dbContext.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 Create(HttpPostedFileBase filelist) { var username = User.Identity.GetUserName(); MessageReplyViewModel vm = new MessageReplyViewModel(); ViewBag.Residence = new SelectList(db.Residences, "ResName", "ResName", vm.Residence); ViewBag.StudentEmail = new SelectList(db.Students, "Email", "Email", vm.StudentEmail); return(View(vm)); }
public ActionResult Create(int?idTarea) { MessageReplyViewModel vm = new MessageReplyViewModel(); //NJB-ID de la tarea ViewBag.Desc1 = dbContext.Tareas.Where(x => x.TareaID == idTarea).Select(s => s.TareaDescripcion).FirstOrDefault(); ViewBag.Desc2 = dbContext.Tareas.Where(x => x.TareaID == idTarea).Select(s => s.TareaDescripcion2).FirstOrDefault(); ViewBag.idTarea = idTarea; // return(View(vm)); }
public ActionResult Index(int?Id, int?page, int?idTarea) { int pageSize = 5; int pageNumber = (page ?? 1); MessageReplyViewModel vm = new MessageReplyViewModel(); var count = dbContext.Messages.Count(); //NJB if (idTarea != null) { count = dbContext.Messages.Where(x => x.TareaID == idTarea.Value).Count(); } //NJB decimal totalPages = count / (decimal)pageSize; ViewBag.TotalPages = Math.Ceiling(totalPages); vm.Messages = dbContext.Messages.Where(x => x.TareaID == idTarea.Value) .OrderBy(x => x.DatePosted).ToPagedList(pageNumber, pageSize); ViewBag.MessagesInOnePage = vm.Messages; ViewBag.PageNumber = pageNumber; if (Id != null) { var replies = dbContext.Replies.Where(x => x.MessageId == Id.Value).OrderByDescending(x => x.ReplyDateTime).ToList(); if (replies != null) { foreach (var rep in replies) { MessageReplyViewModel.MessageReply reply = new MessageReplyViewModel.MessageReply(); reply.MessageId = rep.MessageId; reply.Id = rep.Id; reply.ReplyMessage = rep.ReplyMessage; reply.ReplyDateTime = rep.ReplyDateTime; reply.MessageDetails = dbContext.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; } //NJB-ID de la tarea ViewBag.idTarea = idTarea; ViewBag.Desc1 = dbContext.Tareas.Where(x => x.TareaID == idTarea).Select(s => s.TareaDescripcion).FirstOrDefault(); ViewBag.Desc2 = dbContext.Tareas.Where(x => x.TareaID == idTarea).Select(s => s.TareaDescripcion2).FirstOrDefault(); // return(View(vm)); }
public async Task <ActionResult> Reply([Bind(Include = "Id,Subject,Content,Date")] MessageReplyViewModel message, List <HttpPostedFileBase> attachedFile) { if (ModelState.IsValid) { var sender = await db.Messages.Where(m => m.Id == message.Id && m.Sender != null && m.Recepient != null) .Select(m => new { SenderId = m.Sender.Id }).SingleAsync(); Message messagereply = new Message(); messagereply.Recepient = db.Users.Find(sender.SenderId); messagereply.Sender = await db.Users.Where(u => u.UserName.Equals(User.Identity.Name, StringComparison.InvariantCultureIgnoreCase)).SingleAsync(); messagereply.Subject = message.Subject; messagereply.Content = message.Content; messagereply.Date = DateTime.Now; db.Messages.Add(messagereply); await db.SaveChangesAsync(); await UserManager.SendEmailAsync(messagereply.Recepient.Id, "New Message From", string.Format(" Please login {0} to check your secure message box", Request.Url.Host)); int filenumbers = attachedFile.Count(); if (filenumbers >= 1) { foreach (var uploadfile in attachedFile) { if (uploadfile != null) { byte[] buff = new byte[uploadfile.ContentLength]; int len = await uploadfile.InputStream.ReadAsync(buff, 0, uploadfile.ContentLength); DocFile df = new DocFile() { Description = "Message attachment", FileType = uploadfile.ContentType, FileName = uploadfile.FileName, Content = buff, Message = messagereply }; db.DocFiles.Add(df); //await db.SaveChangesAsync(); } } } await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(message)); }
public ActionResult ReplyMessage(MessageReplyViewModel vm, int messageId) { //var username = User.Identity.Name; //string fullName = ""; //if (!string.IsNullOrEmpty(username)) //{ // var user = dbContext.loginTables.SingleOrDefault(u => u.Name == username); // fullName = string.Concat(new string[] { user.Name}); //} if (vm.Reply.ReplyMessage != null) { Reply _reply = new Reply(); _reply.ReplyDateTime = DateTime.Now; _reply.MessageId = messageId; _reply.ReplyFrom = Session["TeacherName"].ToString(); _reply.ReplyMessage = vm.Reply.ReplyMessage; dbContext.Replies.Add(_reply); dbContext.SaveChanges(); } //reply to the message owner - using email template //var messageOwner = dbContext.Messages.Where(x => x.Id == messageId).Select(s => s.From).FirstOrDefault(); //var users = from user in dbContext.loginTables // orderby user.Name // select new // { // FullName = user.Name, // UserEmail = user.Email // }; //var uemail = users.Where(x => x.FullName == messageOwner).Select(s => s.UserEmail).FirstOrDefault(); //SendGridMessage replyMessage = new SendGridMessage(); //replyMessage.From = new MailAddress(username); //replyMessage.Subject = "Reply for your message :" + dbContext.Messages.Where(i=>i.Id==messageId).Select(s=>s.Subject).FirstOrDefault(); //replyMessage.Text = vm.Reply.ReplyMessage; //replyMessage.AddTo(uemail); //var credentials = new NetworkCredential("YOUR SENDGRID USERNAME", "PASSWORD"); //var transportweb = new Microsoft.Web(credentials); //transportweb.DeliverAsync(replyMessage); int courseid; Message _messageToDelete = dbContext.Messages.Find(messageId); courseid = Convert.ToInt32(_messageToDelete.courseId); return(RedirectToAction("Index", "Message", new { Id = messageId, courseid = courseid })); }
public ActionResult ReplyMessage(MessageReplyViewModel vm, int messageId) { var username = User.Identity.Name; string fullName = ""; if (!string.IsNullOrEmpty(username)) { var user = dbContext.Users.SingleOrDefault(u => u.UserName == username); fullName = string.Concat(new string[] { user.FirstName, " ", user.LastName }); } if (vm.Reply.ReplyMessage != null) { Reply _reply = new Reply(); _reply.ReplyDateTime = DateTime.Now; _reply.MessageId = messageId; _reply.ReplyFrom = fullName; _reply.ReplyMessage = vm.Reply.ReplyMessage; dbContext.Replies.Add(_reply); dbContext.SaveChanges(); } //reply to the message owner - using email template var messageOwner = dbContext.Messages.Where(x => x.Id == messageId).Select(s => s.From).FirstOrDefault(); var users = from user in dbContext.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 MailAddress(username); replyMessage.Subject = "Reply for your message :" + dbContext.Messages.Where(i => i.Id == messageId).Select(s => s.Subject).FirstOrDefault(); replyMessage.Text = vm.Reply.ReplyMessage; replyMessage.AddTo(uemail); var credentials = new NetworkCredential("YOUR SENDGRID USERNAME", "PASSWORD"); var transportweb = new Web(credentials); transportweb.DeliverAsync(replyMessage); return(RedirectToAction("Index", "Home", new { Id = messageId })); }
public ActionResult PostMessage(MessageReplyViewModel vm) { int msgid = 0; int teacherid = Convert.ToInt32(Session["Teacher"]); int schoolid; int classid; var getteacherid = dbContext.Teachers.Find(teacherid); schoolid = getteacherid.School_Id; classid = getteacherid.Class_Id; CourseDBHandle gc = new CourseDBHandle(); int tempclassid; int originalclassid; tempclassid = getteacherid.Class_Id; var classid1 = dbContext.Tbl_Class.Where(x => x.Class_Id == tempclassid).SingleOrDefault(); originalclassid = classid1.Class_Id; List <tbl_CourseAssigntoTeacherValidation> list = gc.GetTeacherAssignedCourse(teacherid, originalclassid); ViewBag.course = new SelectList(list, "courseId", "courseName"); Message messagetoPost = new Message(); if (vm.Message.Subject != string.Empty && vm.Message.MessageToPost != string.Empty) { messagetoPost.DatePosted = DateTime.Now; messagetoPost.Subject = vm.Message.Subject; messagetoPost.courseId = vm.Message.courseId; messagetoPost.MessageToPost = vm.Message.MessageToPost; messagetoPost.From = Session["TeacherName"].ToString(); messagetoPost.Class_Id = classid; messagetoPost.Role_ID = 3; messagetoPost.UserId = teacherid; messagetoPost.courseId = vm.Message.courseId; messagetoPost.SchoolId = schoolid; dbContext.Messages.Add(messagetoPost); dbContext.SaveChanges(); msgid = messagetoPost.Id; } return(RedirectToAction("Index", "Message", new { Id = msgid, courseid = vm.Message.courseId })); }
public ActionResult MessageTo1(MessageReplyViewModel message) { DateTime now = DateTime.UtcNow; int ms = db.Messages.Select(x => x.Id).Max(); var mmsg = db.Messages.ToList().FindAll(x => x.Id == ms).FirstOrDefault(); Notification not = new Notification(); EmailService email = new EmailService(); Guid d = new Guid(); Random r = new Random(); var students = db.Students.ToList().Where(x => x.ResName == message.Residence); if (mmsg.To == "Student") { not.reference = ms; not.NotID = d.ToString() + r.Next(1, 100); not.Reciever = message.StudentEmail; not.message = message.StudentEmail + " you have a new n otification " + " \n" + mmsg.MessageToPost; not.NotType = mmsg.Subject; //ViewBag.Residence = null; not.NotDate = DateTime.Now; not.seen = false; db.Notifications.Add(not); ViewBag.StudentEmail = new SelectList(db.Students, "Email", "Email", message.StudentEmail); mmsg.StudentEmail = message.StudentEmail; } else { //mmsg.StudentEmail = null; ViewBag.Residence = new SelectList(db.Residences, "ResName", "ResName", message.Residence); mmsg.Residence = message.Residence; foreach (var item in students) { email.sendNoticeEmail(item.Email, mmsg.MessageToPost, DateTime.Now.Date.ToLongDateString(), DateTime.Now.TimeOfDay.ToString(), mmsg.Subject); } } db.Entry(mmsg).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index1", "Home")); }
public async Task <ActionResult> Reply(MessageReplyViewModel message) { if (!ModelState.IsValid) { PreventSpamAttribute.Reset(); if (Request.IsAjaxRequest()) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, ModelState.GetFirstErrorMessage())); } else { return(View()); } } if (message.ID <= 0) { return(RedirectToAction("Sent", "Messages")); } var cmd = new SendMessageReplyCommand(message.ID, message.Body); var response = await cmd.Execute(); if (response.Success) { if (Request.IsAjaxRequest()) { return(new HttpStatusCodeResult(HttpStatusCode.OK)); } else { return(RedirectToAction("Sent", "Messages")); } } else { if (Request.IsAjaxRequest()) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, response.Message)); } else { ModelState.AddModelError(string.Empty, response.Message); return(View()); } } }
public ActionResult Create() { int teacherid = Convert.ToInt32(Session["Teacher"]); MessageReplyViewModel vm = new MessageReplyViewModel(); CourseDBHandle gc = new CourseDBHandle(); int tempclassid; int originalclassid; var getteacherid = dbContext.Teachers.Find(teacherid); tempclassid = getteacherid.Class_Id; var classid = dbContext.Tbl_Class.Where(x => x.Class_Id == tempclassid).SingleOrDefault(); originalclassid = classid.Class_Id; List <tbl_CourseAssigntoTeacherValidation> list = gc.GetTeacherAssignedCourse(teacherid, originalclassid); ViewBag.course = new SelectList(list, "courseId", "courseName"); return(View(vm)); }
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 PostMessage(MessageReplyViewModel vm, HttpPostedFileBase filelist) { DateTime now = DateTime.UtcNow; var username = User.Identity.GetUserName(); string fullName = ""; int msgid = 0; Message messagetoPost = new Message(); if (!string.IsNullOrEmpty(username)) { //var user = dbContext.Users.SingleOrDefault(u => u.UserName == username); //var user1 = dbContext.employees.SingleOrDefault(u => u.Email == username); var user = dbContext.employees.ToList().SingleOrDefault(u => u.Email == username); fullName = string.Concat(new string[] { user.Name, " ", user.Surname }); } Notification not = new Notification(); if (vm.Message.Subject != string.Empty && vm.Message.MessageToPost != string.Empty) { if (User.IsInRole("Employee")) { messagetoPost.Residence = lo.getResForNotification(username); } messagetoPost.DatePosted = now.Date; messagetoPost.Subject = vm.Message.Subject; messagetoPost.MessageToPost = vm.Message.MessageToPost; messagetoPost.From = fullName; messagetoPost.StudentEmail = vm.StudentEmail; messagetoPost.Residence = vm.Residence; messagetoPost.To = vm.To; dbContext.Messages.Add(messagetoPost); dbContext.SaveChanges(); msgid = messagetoPost.Id; //Populate Notification } return(RedirectToAction("MessageTo")); }
public ActionResult Create() { MessageReplyViewModel vm = new MessageReplyViewModel(); int teacherid = Convert.ToInt32(Session["Student"]); int tempclassid; int originalclassid; string Regno; var getteacherid = dbContext.Students.Find(teacherid); tempclassid = getteacherid.Class_Id; Regno = getteacherid.RegNo; var classid1 = dbContext.Tbl_Class.Where(x => x.Class_Id == tempclassid).SingleOrDefault(); originalclassid = classid1.Class_Id; //AB enroll course wala dropdown ajayega CourseDBHandle gc = new CourseDBHandle(); List <tblEnrollStudentInCourseValidation> list = gc.GetSudentEnrollCourse(Regno, originalclassid); ViewBag.course = new SelectList(list, "courseId", "courseName"); return(View(vm)); }
public ActionResult MessageTo() { MessageReplyViewModel vm = new MessageReplyViewModel(); int ms = db.Messages.Select(x => x.Id).Max(); var check = db.Messages.Find(ms); if (check.To == "Student") { //ViewBag.Residence = null; ViewBag.StudentEmail = new SelectList(db.Students, "Email", "Email", vm.StudentEmail); } else { //ViewBag.StudentEmail = null; ViewBag.Residence = new SelectList(db.Residences, "ResName", "ResName", vm.Residence); } ViewBag.Residence = new SelectList(db.Residences, "ResName", "ResName", vm.Residence); ViewBag.StudentEmail = new SelectList(db.Students, "Email", "Email", vm.StudentEmail); return(View()); }
public async Task <ActionResult> Reply(long?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } MessageReplyViewModel message = await db.Messages.Where(m => m.Id == id.Value && m.Sender != null) .Select(m => new MessageReplyViewModel() { Content = m.Sender.FirstName + " " + m.Sender.LastName + " Wrote\r\n" + m.Content, Subject = m.Subject, Id = m.Id, OriginalDate = m.Date }).SingleAsync(); if (message == null) { return(HttpNotFound()); } message.Content = string.Format("\r\nOn {0} {1}", message.OriginalDate, message.Content).Replace("\r\n", "\r\n>"); return(View(message)); }
public ActionResult ReplyForm(MessageReplyViewModel message) { ModelState.Clear(); return(PartialView("_MessageReply", message)); }
public async System.Threading.Tasks.Task <ActionResult> ReplyMessage(MessageReplyViewModel vm, int messageId) { var username = User.Identity.Name; string fullName = ""; if (!string.IsNullOrEmpty(username)) { var user = dbContext.Users.SingleOrDefault(u => u.UserName == username); fullName = user.fullname; } if (vm.Reply.ReplyMessage != null) { Reply _reply = new Reply(); _reply.ReplyDateTime = DateTime.Now; _reply.MessageId = messageId; _reply.ReplyFrom = fullName; _reply.ReplyMessage = vm.Reply.ReplyMessage; db.Replies.Add(_reply); db.SaveChanges(); } //reply to the message owner - using email template var messageOwner = db.Messages.Where(x => x.Id == messageId).Select(ssa => ssa.From).FirstOrDefault(); var users = from user in dbContext.Users orderby user.fullname select new { FullName = user.name + " " + user.lastname, UserEmail = user.Email }; var uemail = users.Where(x => x.FullName == messageOwner).Select(q => q.UserEmail).FirstOrDefault(); //SendGridMessage replyMessage = new SendGridMessage(); //replyMessage.From = new MailAddress(username); String sSubject = "Reply for your message :" + db.Messages.Where(i => i.Id == messageId).Select(x => x.Subject).FirstOrDefault(); //replyMessage.Text = vm.Reply.ReplyMessage; //replyMessage.AddTo(uemail); //string credentials = "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"; //var transportweb = new Web(credentials); //transportweb.DeliverAsync(replyMessage); //return RedirectToAction("Index", "Home", new { Id = messageId }); //string apiKey = "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"; //dynamic sendGridClient = new SendGridAPIClient(apiKey); //string Body = vm.Reply.ReplyMessage; //SendGrid.Helpers.Mail.Email fromEmail = new SendGrid.Helpers.Mail.Email("*****@*****.**"); //SendGrid.Helpers.Mail.Email toEmail = new SendGrid.Helpers.Mail.Email(uemail); //Content content = new Content("text/plain", Body); //SendGrid.Helpers.Mail.Mail mail = new Mail(fromEmail, sSubject, toEmail, content); //dynamic response = await sendGridClient.client.mail.send.post(requestBody: mail.Get()); return(RedirectToAction("Index2", "Home", new { Id = messageId })); }
public ActionResult Create(string subje, string mes) { MessageReplyViewModel vm = new MessageReplyViewModel(); return(View(vm)); }
public ActionResult ReplyMessage(MessageReplyViewModel vm, int messageId, string replyMessage, HttpPostedFileBase file) { try { var username = User.Identity.Name; string fullName = ""; if (!string.IsNullOrEmpty(username)) { fullName = username; } for (int i = 0; i < Request.Files.Count; i++) { string savePath = "~/Images/Replies" + User.Identity.Name + "/"; DirectoryInfo dir = new DirectoryInfo(HttpContext.Server.MapPath(savePath)); if (!dir.Exists) { dir.Create(); } file = Request.Files[i]; file.SaveAs(HttpContext.Server.MapPath(savePath) + file.FileName); if (vm.Reply.ReplyVideo != null) { vm.Reply.ReplyVideo.Add(new Models.Media { Path = "/Images/Replies" + User.Identity.Name + "/" + file.FileName }); } else { vm.Reply.ReplyVideo = new List <Models.Media> { new Models.Media { Path = "/Images/Replies" + User.Identity.Name + "/" + file.FileName } } }; } Reply _reply = new Reply(); _reply.ReplyDateTime = DateTime.Now; _reply.MessageId = messageId; _reply.ReplyFrom = fullName; _reply.ReplyMessage = vm.Reply.ReplyMessage; _reply.ReplyVideo = vm.Reply.ReplyVideo; db.Replies.Add(_reply); db.SaveChanges(); } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } } //reply to the message owner - using email template var messageOwner = db.Messages.Where(x => x.Id == messageId).Select(s => s.From).FirstOrDefault(); //var users = from user in db.Users // orderby user.FirstName // select new // { // FullName = user.FirstName + " " + user.LastName, // UserEmail = user.Email // }; //var uemail = User.Identity.GetUserName().Where(x => x.ToString() == messageOwner).Select(s => s.UserEmail).FirstOrDefault(); //SendGridMessage ReplyMessage = new SendGridMessage(); //ReplyMessage.From = new MailAddress(username); //ReplyMessage.Subject = "Reply for your message :" + db.Messages.Where(i => i.Id == messageId).Select(s => s.Subject).FirstOrDefault(); //ReplyMessage.Text = vm.Reply.ReplyMessage; //ReplyMessage.AddTo(uemail); //var credentials = new NetworkCredential("YOUR SENDGRID USERNAME", "PASSWORD"); //var transportweb = new Web(credentials); //transportweb.DeliverAsync(ReplyMessage); return(RedirectToAction("Index", "Contestants", new { Id = messageId })); //return Json(new { Url = "Contestants/Index" }, JsonRequestBehavior.AllowGet); }
public ActionResult ReplyMessage(MessageReplyViewModel vm, int messageId) { var username = User.Identity.Name; string fullName = ""; if (!string.IsNullOrEmpty(username)) { var user = dbContext.Users.SingleOrDefault(u => u.UserName == username); fullName = string.Concat(new string[] { user.FirstName, " ", user.LastName }); } if (vm.Reply.ReplyMessage != null) { Reply _reply = new Reply(); _reply.ReplyDateTime = DateTime.Now; _reply.MessageId = messageId; _reply.ReplyFrom = fullName; _reply.ReplyMessage = vm.Reply.ReplyMessage; dbContext.Replies.Add(_reply); dbContext.SaveChanges(); } //reply to the message owner - using email template var messageOwner = dbContext.Messages.Where(x => x.Id == messageId).Select(s => s.From).FirstOrDefault(); var users = from user in dbContext.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(); //NJB-Comentado INI //SendGridMessage replyMessage = new SendGridMessage(); //replyMessage.From = new EmailAddress(username); //replyMessage.Subject = "Reply for your message :" + dbContext.Messages.Where(i => i.Id == messageId).Select(s => s.Subject).FirstOrDefault(); //replyMessage.PlainTextContent = vm.Reply.ReplyMessage; //replyMessage.AddTo(uemail); //var credentials = new NetworkCredential(ConfigurationManager.AppSettings["mailAccount"], // ConfigurationManager.AppSettings["mailPassword"]); //var transportweb = new Web(credentials); //transportweb.DeliverAsync(replyMessage); //NJB-Comentado FIN var idTarea = dbContext.Messages.Where(x => x.Id == messageId).Select(s => s.TareaID).FirstOrDefault(); // // Retrieve the API key from the environment variables. See the project README for more info about setting this up. var apiKey = Environment.GetEnvironmentVariable("api_key_name_NJB1"); var client = new SendGridClient(apiKey); // Send a Single Email using the Mail Helper var msg = new SendGridMessage() { From = new EmailAddress(username), Subject = "Reply for your message :" + dbContext.Messages.Where(i => i.Id == messageId).Select(s => s.Subject).FirstOrDefault(), PlainTextContent = vm.Reply.ReplyMessage, HtmlContent = vm.Reply.ReplyMessage, }; msg.AddTo(uemail); var response = client.SendEmailAsync(msg); // return(RedirectToAction("Index", "Mensajes", new { Id = messageId, idTarea = idTarea })); }
public ActionResult Create() { MessageReplyViewModel vm = new MessageReplyViewModel(); return(View(vm)); }