예제 #1
0
        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,
            });
        }
예제 #2
0
        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()));
        }