Ejemplo n.º 1
0
        public ViewResult RequestSupport()
        {
            var currentPageUrl = string.Empty;

            if (Request.UrlReferrer != null)
            {
                currentPageUrl = Request.UrlReferrer.ToString();
            }
            else if (Request.Url != null)
            {
                currentPageUrl = Request.Url.ToString();
            }

            var viewModel = new RequestSupportViewModel(currentPageUrl, null);

            if (!IsCurrentUserAnonymous())
            {
                viewModel.RequestPersonName  = CurrentPerson.GetFullNameFirstLast();
                viewModel.RequestPersonEmail = CurrentPerson.Email;
                if (CurrentPerson.Organization != null)
                {
                    viewModel.RequestPersonOrganization = CurrentPerson.Organization.OrganizationName;
                }
                viewModel.RequestPersonPhone = CurrentPerson.Phone;
            }
            viewModel.RequestDescription = "";
            return(ViewRequestSupport(viewModel));
        }
Ejemplo n.º 2
0
        private ViewResult ViewRequestSupport(RequestSupportViewModel viewModel)
        {
            var allSupportRequestTypes = SupportRequestType.All.OrderBy(x => x.SupportRequestTypeSortOrder);

            var supportRequestTypeSimples = allSupportRequestTypes.Select(x => new SupportRequestTypeSimple(x)).ToList();
            var cancelUrl = Request.UrlReferrer != null?Request.UrlReferrer.ToString() : SitkaRoute <HomeController> .BuildUrlFromExpression(x => x.Index());

            var selectListWithEmptyFirstRow = allSupportRequestTypes.ToSelectListWithEmptyFirstRow(x => x.SupportRequestTypeID.ToString(), x => x.GetSubjectLine());
            var supportFormViewData         = new SupportFormViewData(string.Empty, IsCurrentUserAnonymous(), selectListWithEmptyFirstRow, supportRequestTypeSimples);
            var viewData = new RequestSupportViewData(CurrentFirmaSession, supportFormViewData, cancelUrl);

            return(RazorView <RequestSupport, RequestSupportViewData, RequestSupportViewModel>(viewData, viewModel));
        }
Ejemplo n.º 3
0
        public ActionResult RequestSupport(RequestSupportViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(ViewRequestSupport(viewModel));
            }
            var supportRequestLog = SupportRequestLogModelExtensions.Create(CurrentFirmaSession);

            viewModel.UpdateModel(supportRequestLog, CurrentFirmaSession);
            HttpRequestStorage.DatabaseEntities.AllSupportRequestLogs.Add(supportRequestLog);
            SupportRequestLogModelExtensions.SendMessage(supportRequestLog, Request.UserHostAddress, Request.UserAgent, viewModel.CurrentPageUrl, supportRequestLog.SupportRequestType, HttpRequestStorage.DatabaseEntities, FirmaWebConfiguration.DefaultSupportPersonID);
            SetMessageForDisplay("Message sent. Thank you for contacting us.");
            var returnUrl = viewModel.ReturnUrl ?? SitkaRoute <HomeController> .BuildUrlFromExpression(x => x.Index());

            return(Redirect(returnUrl));
        }