public ActionResult Contact([Bind(Include = "ID,Name,Email,PhoneNumber,Subject,Message,ViewStatus,DateSent")] ContactMessageModel contactsModel) { if (ModelState.IsValid) { try { contactsModel.ViewStatus = 0; db.ContactMessages.Add(contactsModel); db.SaveChanges(); TempData["SuccessMessage"] = "Thank you for getting in touch!"; //Send email to Gambia Review string to_name = GMailer.GetGambiaReviewName(); string h1_text = contactsModel.Subject; string h2_text = null; string p1_text = contactsModel.Message; string p2_text = null; AppEmailer.SendEmail(contactsModel.Email, contactsModel.Name, GMailer.GetGambiaReviewEmail(), to_name, contactsModel.Subject, h1_text, h2_text, p1_text, p2_text, null, null, null, null, null); return(RedirectToAction("Contact")); } catch (Exception ex) { TempData["ErrorMessage"] = "Failed to send message, please try again. If you continue to get this error, please send an email to [email protected]."; SecurityFunctions.LogError(ex, contactsModel.Email, "Contact", null); } } return(View(contactsModel)); }
public HttpResponseMessage PostResult(ContactMessageModel msg) { try { msg = contactLogic.PostNewMessage(msg); return(Request.CreateResponse(HttpStatusCode.OK, msg)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.StackTrace)); } }
public bool UpdateContactMessage(string msgUID, ContactMessageModel model) { bool rsBool = false; try { var rs = HttpExtension.Instance.InvokePut <ResultResponse, ContactMessageModel>(apiWebhooks + "/contactmessages/" + msgUID, model).Result; if (rs != null) { rsBool = rs.result; } } catch (System.Exception ex) { CoreLogger.Instance.Error(this.CreateMessageLog(ex.Message)); } return(rsBool); }
public ContactMessageModel GetContactMessagesByConversationID(string conversationID) { ContactMessageModel model = null; try { var rs = HttpExtension.Instance.InvokeGet <ContactMessagesResponse>(apiWebhooks + "/contactmessages/conversations/" + conversationID).Result; if (rs != null) { model = rs.result.FirstOrDefault(); } } catch (System.Exception ex) { CoreLogger.Instance.Error(this.CreateMessageLog(ex.Message)); } return(model); }
public ActionResponse Add(ContactMessageModel model) { using (var unitWork = new UnitOfWork(context)) { IMessageHelper mHelper; ActionResponse response = new ActionResponse(); try { var project = unitWork.ProjectRepository.GetOne(p => p.Id == model.ProjectId); if (project == null) { mHelper = new MessageHelper(); response.Message = mHelper.GetNotFound("Project"); response.Success = false; return(response); } var newMessage = unitWork.ContactMessagesRepository.Insert(new EFContactMessages() { ProjectId = project.Id, SenderEmail = model.SenderEmail, SenderName = model.SenderName, EmailType = model.EmailType, Subject = model.Subject, Message = model.Message, Dated = DateTime.Now, IsNotified = false }); unitWork.Save(); response.ReturnedId = newMessage.Id; } catch (Exception ex) { response.Success = false; response.Message = ex.Message; if (ex.InnerException != null) { response.Message = ex.InnerException.Message; } } return(response); } }
public virtual async Task <ActionResult> Index(ContactMessageModel model) { if (ModelState.IsValid) { dynamic email = new Postal.Email("ContactMessage"); email.To = ConfigurationManager.AppSettings["ContactUsClient"]; email.Cc = ConfigurationManager.AppSettings["ContactUsInternal"]; email.Subject = ConfigurationManager.AppSettings["ContactUsSubject"]; email.FirstName = model.FirstName; email.LastName = model.LastName; email.Email = model.Email; email.Title = model.Subject; email.Message = model.Body; await EmailService.SendAsync(email); ViewBag.Message = "Thanks for your feedback."; return(View(MVC.Shared.Views.Info)); } return(View(model)); }
public IActionResult Post([FromBody] ContactEmailRequestModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (string.IsNullOrEmpty(model.SenderEmail)) { model.SenderEmail = User.FindFirst(ClaimTypes.Email)?.Value; if (string.IsNullOrEmpty(model.SenderEmail)) { return(BadRequest("Unauthorized user access to api")); } } ActionResponse response = new ActionResponse(); var contactToVerify = userService.CheckEmailAvailability(model.SenderEmail); if (!contactToVerify.Success) { List <EmailAddress> usersEmails = null; if (model.EmailType == ContactEmailType.Help) { usersEmails = contactService.GetManagerUsersEmails().ToList(); } else if (model.EmailType == ContactEmailType.Information) { if (model.ProjectId <= 0) { return(BadRequest("Invalid project id provided")); } int projectId = (int)model.ProjectId; usersEmails = contactService.GetProjectUsersEmails(projectId).ToList(); } EmailModel emailModel = new EmailModel() { Subject = model.Subject, Message = model.Message, Title = model.ProjectTitle, EmailsList = usersEmails }; response = emailService.SendContactEmail(emailModel, model.SenderName, model.SenderEmail, model.ProjectTitle, model.EmailType); if (!response.Success) { return(BadRequest(response.Message)); } response.ReturnedId = 1; response.Message = "Message sent"; } else { ContactMessageModel contactModel = new ContactMessageModel() { SenderEmail = model.SenderEmail, SenderName = model.SenderName, Subject = model.Subject, Message = model.Message, EmailType = model.EmailType, ProjectId = (int)model.ProjectId }; response = contactService.Add(contactModel); if (!response.Success) { return(BadRequest(response.Message)); } response.ReturnedId = 2; response.Message = "Message forwarded"; } return(Ok(response)); }