private string FormatUrl(ReferralResultViewModel viewModel)
        {
            if (viewModel == null || viewModel.OutcomeModel == null ||
                viewModel.OutcomeModel.OutcomeGroup == null || viewModel.OutcomeModel.SelectedService == null)
            {
                return("");
            }

            var pathwayNo           = HttpUtility.UrlEncode(viewModel.OutcomeModel.PathwayNo);
            var outcomeGroup        = HttpUtility.UrlEncode(viewModel.OutcomeModel.OutcomeGroup.Text);
            var dxCode              = HttpUtility.UrlEncode(viewModel.OutcomeModel.Id);
            var selectedServiceId   = HttpUtility.UrlEncode(viewModel.OutcomeModel.SelectedServiceId);
            var selectedServiceName = HttpUtility.UrlEncode(viewModel.OutcomeModel.SelectedService.Name);

            var url = string.Format("/outcome/{0}/{1}/{2}/itk/{3}/{4}/{5}/", pathwayNo, outcomeGroup, dxCode,
                                    VirtualUrlPageName, selectedServiceId, selectedServiceName);

            if (viewModel.OutcomeModel.HasAcceptedCallbackOffer.HasValue && viewModel.OutcomeModel.HasAcceptedCallbackOffer.Value)
            {
                url += FromOutcomeViewModelToDosViewModel.DispositionResolver.Remap(viewModel.OutcomeModel.Id) + "/";
            }
            return(url);
        }
 public Call999DuplicateReferralAnalyticsDataLayer(ReferralResultViewModel viewModel)
     : base(viewModel)
 {
 }
 public ClinicianDuplicateReferralAnalyticsDataLayer(ReferralResultViewModel viewModel)
     : base(viewModel)
 {
 }
 public AccidentAndEmergencySexualAssaultDuplicateReferralAnalyticsDataLayer(ReferralResultViewModel viewModel)
     : base(viewModel)
 {
 }
 public CoronaReferralConfirmationAnalyticsDataLayer(ReferralResultViewModel viewModel)
     : base(viewModel)
 {
     this[VirtualPageTitleKey] = "Corona test kit booking - Success";
 }
 public ClinicianCallbackReferralConfirmationAnalyticsDataLayer(ReferralResultViewModel viewModel)
     : base(viewModel)
 {
 }
 public Coronavirus111CallbackServiceUnavailableReferralAnalyticsDataLayer(ReferralResultViewModel viewModel) : base(viewModel)
 {
 }
 public AccidentAndEmergencySexualAssaultServiceUnavailableReferralAnalyticsDataLayer(ReferralResultViewModel viewModel)
     : base(viewModel)
 {
 }
 public ClinicianReferralFailureAnalyticsDataLayer(ReferralResultViewModel viewModel)
     : base(viewModel)
 {
 }
 public AccidentAndEmergencyReferralFailureAnalyticsDataLayer(ReferralResultViewModel viewModel)
     : base(viewModel)
 {
 }
 public ReferralFailureResultAnalyticsDataLayer(ReferralResultViewModel viewModel)
     : base(viewModel)
 {
 }
 protected ReferralResultAnalyticsDataLayer(ReferralResultViewModel viewModel)
 {
     this[VirtualPageUrlKey]   = FormatUrl(viewModel);
     this[VirtualPageTitleKey] = VirtualPageTitle;
 }
 public PharmacyReferralConfirmationAnalysticsDataLayer(ReferralResultViewModel viewModel)
     : base(viewModel)
 {
     this[VirtualPageTitleKey] = string.Format("Pharmacy {0} ITK Confirmation - Success", viewModel.ItkConfirmationModel.SelectedService.OnlineDOSServiceType.Id);
 }
 public Coronavirus111CallbackReferralConfirmationAnalyticsDataLayer(ReferralResultViewModel viewModel)
     : base(viewModel)
 {
     this[VirtualPageTitleKey] = string.Format("Coronavirus 111 Callback {0} ITK Confirmation - Success", viewModel.ItkConfirmationModel.SelectedService.OnlineDOSServiceType.Id);
 }
 public ServiceFirstDuplicateReferralAnalyticsDataLayer(ReferralResultViewModel viewModel)
     : base(viewModel)
 {
 }
 public PharmacyReferralDuplicateAnalyticsDataLayer(ReferralResultViewModel viewModel)
     : base(viewModel)
 {
 }
 public Coronavirus111CallbackReferralFailureAnalyticsDataLayer(ReferralResultViewModel viewModel)
     : base(viewModel)
 {
 }
 public TestKitServiceUnavailableReferralAnalyticsDataLayer(ReferralResultViewModel viewModel) : base(viewModel)
 {
 }
 public Call999ReferralFailureAnalyticsDataLayer(ReferralResultViewModel viewModel)
     : base(viewModel)
 {
 }
 public PharmacyUnavailableReferralAnalyticsDataLayer(ReferralResultViewModel viewModel) : base(viewModel)
 {
 }
 public ServiceFirstReferralFailureAnalyticsDataLayer(ReferralResultViewModel viewModel)
     : base(viewModel)
 {
 }
 public Call999ReferralConfirmationAnalyticsDataLayer(ReferralResultViewModel viewModel)
     : base(viewModel)
 {
 }
 public AccidentAndEmergencySexualAssaultReferralConfirmationAnalyticsDataLayer(ReferralResultViewModel viewModel)
     : base(viewModel)
 {
 }