public ActionResult ReplyMessage(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } PesanPublikToAdmin pesanPublik = db.PesanPublikToAdmin.Find(id); if (pesanPublik == null) { return(HttpNotFound()); } ReplyPublicMessageViewModel createReplyMessage = new ReplyPublicMessageViewModel { Id = pesanPublik.Id, MessageContent = pesanPublik.MessageContent, ReplyToEmail = pesanPublik.SenderEmail, ReplyToName = pesanPublik.SenderName, ReplySubject = string.Format("Reply Message from {0} at {1} {2} GMT at www.sainstek3undana.com", pesanPublik.SenderName, pesanPublik.DateCreated.ToLongDateString(), pesanPublik.DateCreated.ToLongTimeString()), ReplyMessage = string.Empty }; return(PartialView(createReplyMessage)); }
public ActionResult ReplyMessage(ReplyPublicMessageViewModel model) { if (!ModelState.IsValid) { var errors = ModelState.Select(x => x.Value.Errors) .Where(y => y.Count > 0) .ToList(); string errorMessages = "<ul>"; for (int i = 0; i < errors.Count; i++) { ModelErrorCollection modelErrorCollection = errors[i]; for (int j = 0; j < modelErrorCollection.Count; j++) { if (!string.IsNullOrEmpty(modelErrorCollection[j].ErrorMessage)) { errorMessages += "<li>"; errorMessages += modelErrorCollection[j].ErrorMessage; errorMessages += "</li>"; } } } errorMessages += "</ul>"; return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, errorMessages)); } PesanPublikToAdmin pesanPublik = db.PesanPublikToAdmin.Find(model.Id); if (pesanPublik == null) { return(new HttpStatusCodeResult(HttpStatusCode.NotFound, "Entity not found.")); } string emailSendErrorMessage = string.Empty; if (!SendMailFromPanitiaEmail(model.ReplyToEmail, model.ReplySubject, model.ReplyMessage, out emailSendErrorMessage)) { ModelState.AddModelError("", emailSendErrorMessage); return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, emailSendErrorMessage)); } try { if (pesanPublik.DateAdminRead == null) { pesanPublik.DateAdminRead = DateTime.UtcNow; } pesanPublik.DateReply = DateTime.UtcNow; pesanPublik.ReplyMessage = model.ReplyMessage; pesanPublik.ReplyAdminId = User.Identity.GetUserId(); db.Entry(pesanPublik).State = EntityState.Modified; db.SaveChanges(); } catch (Exception ex) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, ex.Message)); } return(new HttpStatusCodeResult(HttpStatusCode.OK)); }