private ContactUsModel GetContactUsModel() { // Use the current user's email address if possible. var emailUs = new EmailUsModel { UserType = UserType.Member }; var user = CurrentRegisteredUser; if (user != null) { emailUs.From = ((ICommunicationRecipient)user).EmailAddress; emailUs.Name = user.FullName; var member = user as Member; if (member != null) { emailUs.PhoneNumber = member.GetPrimaryPhoneNumber() == null ? string.Empty : member.GetPrimaryPhoneNumber().Number; emailUs.UserType = UserType.Member; } else { var employer = user as Employer; if (employer != null) { emailUs.PhoneNumber = employer.PhoneNumber == null ? string.Empty : employer.PhoneNumber.Number; emailUs.UserType = UserType.Employer; } } } return(new ContactUsModel { EmailUs = emailUs, UserTypes = new[] { UserType.Member, UserType.Employer }, MemberSubCategories = _faqsQuery.GetCategory(UserType.Member).Subcategories, EmployerSubCategories = _faqsQuery.GetCategory(UserType.Employer).Subcategories, }); }
public ActionResult SendContactUs(EmailUsModel emailUs) { try { emailUs.Prepare(); emailUs.Validate(); var subcategory = emailUs.SubcategoryId == null ? null : _faqsQuery.GetSubcategory(emailUs.SubcategoryId.Value); _emailsCommand.TrySend(new ContactUsEmail(emailUs.From, emailUs.Name, emailUs.UserType, emailUs.PhoneNumber, subcategory, emailUs.Message)); return(Json(new JsonResponseModel())); } catch (UserException ex) { ModelState.AddModelError(ex, new StandardErrorHandler()); } return(Json(new JsonResponseModel())); }