Ejemplo n.º 1
0
        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));
        }