public IActionResult SendContactEmailRequest([FromBody] ContactEmailRequestModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } return(Ok()); }
public IActionResult Post([FromBody] ContactEmailRequestModel model) { if (!ModelState.IsValid) { return(BadRequest("Data is not in valid format")); } if (string.IsNullOrEmpty(model.SenderEmail)) { model.SenderEmail = User.FindFirst(ClaimTypes.Email)?.Value; if (string.IsNullOrEmpty(model.SenderEmail)) { return(BadRequest("Unauthorized user access to api")); } } List <EmailAddress> usersEmails = null; if (model.EmailType == ContactEmailType.Help) { usersEmails = service.GetManagerUsersEmails().ToList(); } else if (model.EmailType == ContactEmailType.Information) { if (model.ProjectId <= 0) { return(BadRequest("Invalid project id provided")); } int projectId = (int)model.ProjectId; usersEmails = service.GetProjectUsersEmails(projectId).ToList(); } string messageTail = "<p><b>Sender name: " + model.SenderName + "</b><br/><b>Sender email: " + model.SenderEmail + "</b></p>"; model.Message = "<p>" + model.Message + "</p>" + messageTail; ActionResponse response = null; if (usersEmails.Count > 0) { EmailModel emailModel = new EmailModel() { Title = "", Subject = model.Subject, Message = model.Message, EmailsList = usersEmails }; response = emailService.SendContactEmail(emailModel, model.SenderName, model.SenderEmail, model.ProjectTitle, model.EmailType); if (!response.Success) { return(BadRequest(response.Message)); } } return(Ok(true)); }
public IActionResult Approve(int id) { if (id <= 0) { ICommonMessageHelper messageHelper = new CommonMessageHelper(); return(BadRequest(messageHelper.GetInvalidIdMessage())); } var response = contactService.Approve(id); if (!response.Success) { return(BadRequest(response.Message)); } else if (response.Success) { ContactEmailRequestModel model = JsonConvert.DeserializeObject <ContactEmailRequestModel>(response.Message); List <EmailAddress> usersEmails = null; 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 = contactService.Delete(id); if (!response.Success) { return(BadRequest(response.Message)); } response.ReturnedId = 1; } return(Ok(true)); }
public ActionResponse Approve(int id) { var unitWork = new UnitOfWork(context); IMessageHelper mHelper; ActionResponse response = new ActionResponse(); try { var contactMessage = unitWork.ContactMessagesRepository.GetWithInclude(m => m.Id == id, new string[] { "Project" }).FirstOrDefault(); if (contactMessage == null) { mHelper = new MessageHelper(); response.Success = false; response.Message = mHelper.GetNotFound("Contact message"); return(response); } ContactEmailRequestModel model = new ContactEmailRequestModel() { SenderEmail = contactMessage.SenderEmail, SenderName = contactMessage.SenderName, Subject = contactMessage.Subject, Message = contactMessage.Message, ProjectId = contactMessage.ProjectId, ProjectTitle = contactMessage.Project.Title }; response.Message = JsonConvert.SerializeObject(model); } catch (Exception ex) { response.Success = false; response.Message = ex.Message; if (ex.InnerException != null) { response.Message = ex.InnerException.Message; } } return(response); }
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)); }