public bool Insert( ContactUsDetailsDto contactUsDetailsDto, int? addedByUserId, ref IList<string> errorMessages) { if (!contactUsDetailsDto.IsValid) { errorMessages = contactUsDetailsDto.ErrorMessages.ToList(); return false; } var contactUsLog = new ContactUsLog { Name = contactUsDetailsDto.Name, EmailAddress = contactUsDetailsDto.EmailAddress, Message = contactUsDetailsDto.Message, AddedByUserId = addedByUserId, AddedDateTime = DateTime.Now.ToGmtDateTime() }; _contactUsLogRepository.Insert(contactUsLog); if (addedByUserId.HasValue) { var userLog = new UserLog { UserId = addedByUserId.Value, UserLogTypeId = (int)UserLogType.Types.SubmittedContactUsMessage, AddedDateTime = DateTime.Now.ToGmtDateTime() }; _userLogRepository.Insert(userLog); } IEmail email = new Email(); foreach (var contactUsEmailAddress in email.ContactUsEmailAddresses) { email = new Email { ToEmailAddress = contactUsEmailAddress, ToRecipientName = (!string.IsNullOrWhiteSpace(contactUsDetailsDto.Name) ? contactUsDetailsDto.Name : "Unknown"), Subject = "Contact Us - Fallen Nova", EmailBody = contactUsDetailsDto.Message }; if (email.Dispatch()) { continue; } errorMessages.Add(string.Format("The contact us message wasn't sent successfully. Please contact the website administrator.")); return false; } UnitOfWork.Commit(); return true; }
public Task <ResultDto> SendContactUsMessage(ContactUsVm viewModel) { var contactUsDetailDto = new ContactUsDetailsDto() { LowellReferenceNumber = viewModel.LowellReferenceNumber, AccountHolderStatus = viewModel.AccountHolderStatus, QueryTopic = viewModel.QueryTopic, FirstLineOfAddress = viewModel.FirstLineOfAddress, EmailAddress = viewModel.ContactUsEmailAddress, DateOfBirth = viewModel.DateOfBirth.Value, Postcode = viewModel.Postcode, FullName = viewModel.FullName, MessageContent = viewModel.MessageContent, AuthorisedThirdPartyPassword = viewModel.AuthorisedThirdPartyPassword }; return(_apiGateway.SendContactUsMessage(contactUsDetailDto)); }
public ActionResult Ninject() { // Perform a number of service calls to test the Ninject configuration. var ninjectTestResultsModel = new NinjectTestResultsModel { StartTime = DateTime.UtcNow, Status = "OK" }; try { IList<string> errorMessages = new List<string>(); var userStatusDetailsDto = _userService.GetStatusDetails(CurrentUser.UserId); var userStatusId = userStatusDetailsDto.UserStatusId; // Switch the user status identifier. userStatusDetailsDto.UserStatusId = (userStatusId == 1) ? 2 : 1; if (!_userService.UpdateStatus( userStatusDetailsDto, CurrentUser.UserId, ref errorMessages)) { throw new Exception(errorMessages[0]); } // Switch the user's status back to how it was. userStatusDetailsDto.UserStatusId = userStatusId; if (!_userService.UpdateStatus( userStatusDetailsDto, CurrentUser.UserId, ref errorMessages)) { throw new Exception(errorMessages[0]); } var contactUsDetailsDto = new ContactUsDetailsDto { Name = "Joe Bloggs", EmailAddress = "[email protected],", Message = "Testing..." }; if (!_contactUsService.Insert( contactUsDetailsDto, (CurrentUser != null) ? CurrentUser.UserId : (int?)null, ref errorMessages)) { throw new Exception(errorMessages[0]); } } catch (Exception exception) { ninjectTestResultsModel.Status = exception.Message; } ninjectTestResultsModel.EndTime = DateTime.Now.ToGmtDateTime(); return View(ninjectTestResultsModel); }
public async Task <ResultDto> SendContactUsMessage(ContactUsDetailsDto dto) { var innerUrl = $"{_baseUrl}api/ContactUs"; return(await _restClient.PostAsync <ContactUsDetailsDto, ResultDto>(innerUrl, dto)); }