Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }