public void SendContactMessageTest_WithUserName() { //Arrange const string username = "******"; var contactMessageViewModel = new ContactMessageViewModel { Details = "Can you please guide me to the right job?", Email = "*****@*****.**", Enquiry = "How to apply for a apprenticeship", Name = "Jane Doe" }; //Act _contactMessageServerViewModelValidator.Setup(validator => validator.Validate(It.IsAny <ContactMessageViewModel>())) .Returns(new ValidationResult()); _providerUserMediator.Setup(mediator => mediator.SendContactMessage(contactMessageViewModel)).Returns(true); MediatorResponse <ContactMessageViewModel> response = _homeMediator.SendContactMessage(username, contactMessageViewModel); //Assert response.Code.Should().NotBeNullOrWhiteSpace(); response.Message.Should().NotBeNull(); response.Message.Level.ShouldBeEquivalentTo(UserMessageLevel.Success); response.Message.Text.Should().Be("Your question has been successfully sent. Thank you."); }
public async Task <ActionResult> Helpdesk(ContactMessageViewModel model) { return(await Task.Run <ActionResult>(() => { var candidateId = GetCandidateId(); var response = _homeMediator.SendContactMessage(candidateId, model); switch (response.Code) { case HomeMediatorCodes.SendContactMessage.ValidationError: ModelState.Clear(); response.ValidationResult.AddToModelState(ModelState, string.Empty); return View(model); case HomeMediatorCodes.SendContactMessage.SuccessfullySent: ModelState.Clear(); SetUserMessage(response.Message.Text, response.Message.Level); return View(response.ViewModel); case HomeMediatorCodes.SendContactMessage.Error: SetUserMessage(response.Message.Text, response.Message.Level); return View(response.ViewModel); } throw new InvalidMediatorCodeException(response.Code); })); }
public void SaveContactMessageShouldSaveContactMsgCorrect() { var options = new DbContextOptionsBuilder <WAGDbContext>() .UseInMemoryDatabase(databaseName: "Save_ContactMessage_Db") .Options; var dbContext = new WAGDbContext(options); var service = new HomeService(dbContext, null); var contactMessageViewModel = new ContactMessageViewModel() { Title = "Test title", TextBody = "Test textBody", }; string userId = Guid.NewGuid().ToString(); service.SaveContactMessage(contactMessageViewModel, userId); var savedMessage = dbContext.ContactMessages.LastOrDefault(); Assert.NotNull(savedMessage); Assert.Equal(userId, savedMessage.WAGUserId); Assert.Equal(contactMessageViewModel.Title, savedMessage.Title); Assert.Equal(contactMessageViewModel.TextBody, savedMessage.TextBody); }
public async Task <ActionResult> SendMessage(ContactMessageViewModel model) { _logger.Log(LogLevel.Info, "User posted contact form: " + model.ToJson()); if (!ModelState.IsValid) { _logger.Log(LogLevel.Error, "User contact form is Invalid! Errors: " + ModelState.ToJson()); return(Json(ModelState.ToDictionary())); } try { await contactMessagesManager.AddContactMessage(model); _logger.Log(LogLevel.Info, "Contact form saved succesfully !"); return(Json("STATUS_OK")); } catch (Exception ex) { _logger.Error(ex, "Problem submitting contact form!"); throw; } }
public async Task <ActionResult> Send(ContactMessageViewModel model) { if (ModelState.IsValid) { await _dbContext.SendMessageAsync(model); } return(RedirectToAction("Index", "Contact")); }
public IActionResult Index() { ViewData["Title"] = "Message"; var model = new ContactMessageViewModel(); return View(model); }
public async Task <IActionResult> Contact(ContactMessageViewModel contactMessage) { TempData["Success"] = " Наш служител ще се свърже с Вас."; //await _emailSender.SendEmailAsync(contactMessage.Email, "Ново съобщение", $"Можете да промените паролата си на следния линк: <a href='{callbackUrl}'>Нова Парола</a>"); await _emailSender.SendEmailAsync("*****@*****.**", "Съобщение от сайта", $"<b>{contactMessage.Name}</b></br>{contactMessage.Email}</br>{contactMessage.Phone}</br></br>{contactMessage.Note}"); return(RedirectToAction("Contact")); }
public void ShouldHaveErrorsOnSendWhenBlank() { var viewModel = new ContactMessageViewModel(); var viewModelValidator = new ContactMessageClientViewModelValidator(); viewModelValidator.ShouldNotHaveValidationErrorFor(x => x.Details, viewModel); viewModelValidator.ShouldHaveValidationErrorFor(x => x.Name, viewModel); viewModelValidator.ShouldHaveValidationErrorFor(x => x.Enquiry, viewModel); viewModelValidator.ShouldHaveValidationErrorFor(x => x.Email, viewModel); }
public ICContactMessage ToContactMessage(ContactMessageViewModel message) { return(new ICContactMessage() { ICContactMessageSubject = message.ICContactMessageSubject, ICContactMessageContactName = message.ICContactMessageContactName, ICContactMessageContactEmail = message.ICContactMessageContactEmail, ICContactMessageContactPhone = message.ICContactMessageContactPhone, ICContactMessageContent = message.ICContactMessageContent }); }
public ActionResult Contact(ContactMessageViewModel model) { if (ModelState.IsValid) { messageService.SendMessage(model.GetMessage()); return(RedirectToAction("SuccessfullySent")); } return(View(model)); }
public void SaveContactMessage(ContactMessageViewModel contactMessageViewModel, string userId) { var contactMessage = new ContactMessage() { Title = contactMessageViewModel.Title, TextBody = contactMessageViewModel.TextBody, WAGUserId = userId, Date = DateTime.UtcNow, }; this.DbContext.ContactMessages.Add(contactMessage); this.DbContext.SaveChanges(); }
public bool SendContactMessage(Guid?candidateId, ContactMessageViewModel viewModel) { try { var candidate = _mapper.Map <ContactMessageViewModel, ContactMessage>(viewModel); candidate.UserId = candidateId; _candidateService.SubmitContactMessage(candidate); return(true); } catch { return(false); } }
public bool SendContactMessage(ContactMessageViewModel contactMessageViewModel) { try { var contactMessage = _mapper.Map <ContactMessageViewModel, ProviderContactMessage>(contactMessageViewModel); _providerService.SubmitContactMessage(contactMessage); return(true); } catch (Exception exception) { _logService.Error($"Exception occured while sending contact us email:{exception.Message}", exception); return(false); } }
public async Task AddContactMessage(ContactMessageViewModel messageTo) { ContactMessages message = new ContactMessages { Name = messageTo.Name, Email = messageTo.Email, Title = messageTo.Subject, PhoneNumber = messageTo.PhoneNumber, Message = messageTo.Message }; RealEstateDbContext.ContactMessages.Add(message); await RealEstateDbContext.SaveChangesAsync(); await EmailsManager.SendHtmlEmailAsync(message.Email, "Съобщение изпратено до sProperties", "Благодаря за обратната връзка, която ни пратихте. Оценяваме времето, което отделихте. Поздрави, sProperties."); }
public IActionResult Contact(ContactMessageViewModel contactMessageViewModel) { if (!ModelState.IsValid) { return(this.View(contactMessageViewModel)); } string userId = null; if (User.Identity.IsAuthenticated) { userId = this.UserAccountService.GetCurrentUser(HttpContext).Id; } this.HomeService.SaveContactMessage(contactMessageViewModel, userId); return(RedirectToAction("Success", "Home")); }
public IActionResult SendMessage([Bind("Email", "Name", "PhoneNumber", "Message")] ContactMessageViewModel model) { if (ModelState.IsValid) { MailMessage message = new MailMessage("*****@*****.**", "*****@*****.**"); message.Subject = string.Format("Message From {0}", model.Name); message.Body = string.Format("Email: {0}\n", model.Email); message.Body += string.Format("Phone: {0}\n\n", model.PhoneNumber); message.Body += string.Format("Message: {0}\n", model.Message); EmailController.SendEmail(message); TempData["SuccessMessage"] = "We have received your message!"; return(RedirectToAction("Index", "Home")); } return(View("Index", model)); }
public IActionResult Send(ContactMessageViewModel contactMessage) { SmtpClient client = new SmtpClient("poczta.o2.pl", 587); client.UseDefaultCredentials = false; client.Credentials = new NetworkCredential("*****@*****.**", "Pa$$w0rd2"); client.EnableSsl = true; MailMessage mailMessage = new MailMessage(); mailMessage.From = new MailAddress("*****@*****.**"); mailMessage.To.Add("*****@*****.**"); mailMessage.Body = contactMessage.Content + Environment.NewLine + Environment.NewLine + contactMessage.SenderEmail; mailMessage.Subject = contactMessage.Title; client.Send(mailMessage); return(RedirectToAction(nameof(Show), contactMessage)); }
public void ShouldNotHaveErrorsOnSendWhenFilled() { const string aString = "SomeString"; const string anEmail = "*****@*****.**"; var viewModel = new ContactMessageViewModel { Name = aString, Email = anEmail, Enquiry = aString }; var viewModelValidator = new ContactMessageClientViewModelValidator(); viewModelValidator.ShouldNotHaveValidationErrorFor(x => x.Details, viewModel); viewModelValidator.ShouldNotHaveValidationErrorFor(x => x.Name, viewModel); viewModelValidator.ShouldNotHaveValidationErrorFor(x => x.Enquiry, viewModel); viewModelValidator.ShouldNotHaveValidationErrorFor(x => x.Email, viewModel); }
private ContactMessageViewModel InternalGetContactMessageViewModel(string username) { var viewModel = new ContactMessageViewModel(); if (!string.IsNullOrWhiteSpace(username)) { try { var provider = _providerUserProvider.GetProviderUser(username); viewModel.Name = provider.Fullname; viewModel.Email = provider.Email; } catch (Exception ex) { _logService.Error("Failed to created view model (ignoring)", ex); } } return(viewModel); }
public void SendContactMessageWithValidationErrors() { var viewModel = new ContactMessageViewModel { Details = AString, Email = AnEmail, Enquiry = AString, Name = AString, SelectedEnquiry = AString }; _contactMessageServerViewModelValidatorMock.Setup(v => v.Validate(It.IsAny <ContactMessageViewModel>())) .Returns(new ValidationResult(new [] { new ValidationFailure("Name", "Error") })); _candidateServiceProviderMock.Setup(hp => hp.SendContactMessage(null, viewModel)).Returns(false); var response = _homeMediator.SendContactMessage(null, viewModel); response.AssertValidationResult(HomeMediatorCodes.SendContactMessage.ValidationError, true); }
public void SendContactMessageFail() { var viewModel = new ContactMessageViewModel { Details = AString, Email = AnEmail, Enquiry = AString, Name = AString, SelectedEnquiry = AString }; _contactMessageServerViewModelValidatorMock.Setup(v => v.Validate(It.IsAny <ContactMessageViewModel>())) .Returns(new ValidationResult()); _candidateServiceProviderMock.Setup(hp => hp.SendContactMessage(null, viewModel)).Returns(false); var response = _homeMediator.SendContactMessage(null, viewModel); response.AssertMessage(HomeMediatorCodes.SendContactMessage.Error, ApplicationPageMessages.SendContactMessageFailed, UserMessageLevel.Warning, true); }
public IActionResult Contact(ContactMessageViewModel model) { if (ModelState.IsValid) { var newContactMessage = new ContactMessage { Nickname = model.Nickname, Email = model.Email, Description = model.Description }; newContactMessage = _contactMessageData.AddContactMessage(newContactMessage); return(RedirectToAction(nameof(Index))); } else { return(View()); } }
public void SendContactMessage() { var homeMediator = new HomeMediator(_candidateServiceProviderMock.Object, _homeProviderMock.Object, _contactMessageServerViewModelValidatorMock.Object); var viewModel = new ContactMessageViewModel { Details = AString, Email = AnEmail, Enquiry = AString, Name = AString, SelectedEnquiry = AString }; _contactMessageServerViewModelValidatorMock.Setup(v => v.Validate(It.IsAny <ContactMessageViewModel>())) .Returns(new ValidationResult()); _homeProviderMock.Setup(hp => hp.SendContactMessage(null, viewModel)).Returns(true); var response = homeMediator.SendContactMessage(null, viewModel); response.AssertMessage(HomeMediatorCodes.SendContactMessage.SuccessfullySent, ApplicationPageMessages.SendContactMessageSucceeded, UserMessageLevel.Success, true); }
private ContactMessageViewModel GetViewModel(Guid?candidateId) { var viewModel = new ContactMessageViewModel(); PopulateEnquiries(viewModel); if (candidateId.HasValue) { try { var candidate = _candidateServiceProvider.GetCandidate(candidateId.Value); viewModel.Email = candidate.RegistrationDetails.EmailAddress; viewModel.Name = string.Format("{0} {1}", candidate.RegistrationDetails.FirstName, candidate.RegistrationDetails.LastName); } catch { } } return(viewModel); }
public MediatorResponse <ContactMessageViewModel> SendContactMessage(Guid?candidateId, ContactMessageViewModel contactMessageViewModel) { var validationResult = _contactMessageServerViewModelValidator.Validate(contactMessageViewModel); if (!validationResult.IsValid) { PopulateEnquiries(contactMessageViewModel); return(GetMediatorResponse(HomeMediatorCodes.SendContactMessage.ValidationError, contactMessageViewModel, validationResult)); } if (_homeProvider.SendContactMessage(candidateId, contactMessageViewModel)) { var viewModel = GetViewModel(candidateId); PopulateEnquiries(viewModel); return(GetMediatorResponse(HomeMediatorCodes.SendContactMessage.SuccessfullySent, viewModel, ApplicationPageMessages.SendContactMessageSucceeded, UserMessageLevel.Success)); } PopulateEnquiries(contactMessageViewModel); return(GetMediatorResponse(HomeMediatorCodes.SendContactMessage.Error, contactMessageViewModel, ApplicationPageMessages.SendContactMessageFailed, UserMessageLevel.Warning)); }
private ContactMessageViewModel InternalGetContactMessageViewModel(Guid?candidateId) { var viewModel = new ContactMessageViewModel(); PopulateContactMessageViewModelEnquiries(viewModel); if (candidateId.HasValue) { try { var candidate = _candidateServiceProvider.GetCandidate(candidateId.Value); viewModel.Email = candidate.RegistrationDetails.EmailAddress; viewModel.Name = string.Format("{0} {1}", candidate.RegistrationDetails.FirstName, candidate.RegistrationDetails.LastName); } catch (Exception ex) { _logService.Error("Failed to created view model (ignoring)", ex); } } return(viewModel); }
public ActionResult ContactUs(ContactMessageViewModel viewModel) { var userName = GetProviderUserName(); var response = _homeMediator.SendContactMessage(userName, viewModel); switch (response.Code) { case HomeMediatorCodes.SendContactMessage.ValidationError: ModelState.Clear(); response.ValidationResult.AddToModelState(ModelState, string.Empty); return(View(viewModel)); case HomeMediatorCodes.SendContactMessage.SuccessfullySent: ModelState.Clear(); SetUserMessage(response.Message.Text, response.Message.Level); return(View(response.ViewModel)); case HomeMediatorCodes.SendContactMessage.Error: SetUserMessage(response.Message.Text, response.Message.Level); return(View(response.ViewModel)); } throw new InvalidMediatorCodeException(response.Code); }
public IActionResult ContactUs(ContactMessageViewModel viewModel) { MailMessage mail = new MailMessage("*****@*****.**", "*****@*****.**"); mail.Subject = viewModel.Subject; mail.Body = $"The user {viewModel.Email} had the following question: \n" + $"{viewModel.Description}"; SmtpClient smtpClient = new SmtpClient("smtp.gmail.com", 25);/* smtp.gmail.com ports: 25, 465, 587 */ smtpClient.Credentials = new System.Net.NetworkCredential() { UserName = "******", Password = "******" }; TempData["Message"] = "Request Sent Successfully"; smtpClient.EnableSsl = true; smtpClient.Send(mail); return(RedirectToAction("Index", "Home")); }
public MediatorResponse <ContactMessageViewModel> SendContactMessage(string username, ContactMessageViewModel contactMessageViewModel) { ValidationResult validationResult = _contactMessageServerViewModelValidator.Validate(contactMessageViewModel); if (!validationResult.IsValid) { return(GetMediatorResponse(HomeMediatorCodes.SendContactMessage.ValidationError, contactMessageViewModel, validationResult)); } if (_providerUserMediator.SendContactMessage(contactMessageViewModel)) { var viewModel = InternalGetContactMessageViewModel(username); return(GetMediatorResponse(HomeMediatorCodes.SendContactMessage.SuccessfullySent, viewModel, ApplicationPageMessages.SendContactMessageSucceeded, UserMessageLevel.Success)); } return(GetMediatorResponse(HomeMediatorCodes.SendContactMessage.Error, contactMessageViewModel, ApplicationPageMessages.SendContactMessageFailed, UserMessageLevel.Warning)); }
private static void PopulateEnquiries(ContactMessageViewModel contactMessageViewModel) { contactMessageViewModel.Enquiries = GetEnquiries(); contactMessageViewModel.SelectedEnquiry = "noSelect"; }