public async Task<ActionResult> ContactUser(ContactUserModel model) { var listing = await _listingService.FindAsync(model.ListingID); var userIdCurrent = User.Identity.GetUserId(); var user = userIdCurrent.User(); // Check if user send message to itself, which is not allowed if (listing.UserID == userIdCurrent) { TempData[TempDataKeys.UserMessageAlertState] = "bg-danger"; TempData[TempDataKeys.UserMessage] = "[[[You cannot send message to yourself!]]]"; return RedirectToAction("Listing", "Listing", new { id = model.ListingID }); } // Send message to user var message = new MessageSendModel() { UserFrom = userIdCurrent, UserTo = listing.UserID, Subject = listing.Title, Body = model.Message, ListingID = listing.ID }; await MessageHelper.SendMessage(message); // Send email with notification var emailTemplateQuery = await _emailTemplateService.Query(x => x.Slug.ToLower() == "privatemessage").SelectAsync(); var emailTemplate = emailTemplateQuery.Single(); dynamic email = new Postal.Email("Email"); email.To = user.Email; email.From = CacheHelper.Settings.EmailAddress; email.Subject = emailTemplate.Subject; email.Body = emailTemplate.Body; email.Message = model.Message; EmailHelper.SendEmail(email); TempData[TempDataKeys.UserMessage] = "[[[Message sent succesfully!]]]"; return RedirectToAction("Listing", "Listing", new { id = model.ListingID }); }
public async Task<ActionResult> ContactUser(ContactUserModel model) { var emailTemplateQuery = await _emailTemplateService.Query(x => x.Slug.ToLower() == "privatemessage").SelectAsync(); var emailTemplate = emailTemplateQuery.Single(); dynamic email = new Postal.Email("Email"); email.To = CacheHelper.Settings.EmailContact; email.From = CacheHelper.Settings.EmailContact; email.Subject = emailTemplate.Subject; email.Body = emailTemplate.Body; email.Message = model.Message; EmailHelper.SendEmail(email); TempData[TempDataKeys.UserMessage] = "[[[Message sent succesfully!]]]"; return RedirectToAction("Listing", "Listing", new { id = model.ListingID }); }