public static void AddLocationSettingsGroup(DataProxyBase dataProxy, BaseView view) { var group = view.GetOrCreateSettingGroup("Location Settings"); group.AddSetting(new Setting("LocationSettingsHelp", "", SettingFieldType.Html, "<div class='col-xs-12 bg-info'><div class='col-xs-12'>Note: These settings are ignored if location settings are present in the page's query string.</div></div>")); group.AddSetting(new Setting("LocationContext", "Limit Results to Location", SettingFieldType.Dropdown) { Options = GetLocationContextOptions(dataProxy), Value = 0 }); group.AddSetting(new Setting("LocationDescendants", "Include Child Locations", SettingFieldType.Boolean, true)); }
public static void SubmitLeadData(BrightWhistleLead lead, int? locationContextId, DataProxyBase dataProxy) { if (lead.IsValid()) { try { var request = new SubmitLeadDataRequest { LeadData = lead, OrgUnitContextId = locationContextId }; dataProxy.ProcessRequest<SubmitLeadDataResponse>(request); } catch (BusinessException ex) { ServiceContext.Logger.Error("Lead Management Submission Error", ex); } } }
public static List<KeyValuePair<object, object>> GetLocationContextOptions(DataProxyBase dataProxy) { var request = new ListOrgUnitAssociationsRequest() { SecondaryIsSite = true, IsEnabled = true, PageSize = -1, SortField = "SecondaryPath", SortDirection = "Ascending" }; var response = dataProxy.ProcessRequest<ListOrgUnitAssociationsResponse>(request); var locations = new List<KeyValuePair<object, object>>(); locations.Add(new KeyValuePair<object, object>(0, "- Automatic -")); foreach (var association in response.OrgUnitAssociations) { locations.Add(new KeyValuePair<object, object>(association.SecondaryId.Value, association.SecondaryPath)); } return locations; }
public SeoHelperBase(DataProxyBase dataProxy, IDictionary<string, string> parameters) { DataProxy = dataProxy; Parameters = parameters; // Attempt to get faclity/target market values from request parameters FacilityName = Parameters.ContainsKey("seo_facilityname") ? Parameters["seo_facilityname"] : string.Empty; FacilityCity = Parameters.ContainsKey("seo_facilitycity") ? Parameters["seo_facilitycity"] : string.Empty; FacilityStateAbbreviation = Parameters.ContainsKey("seo_facilitystate") ? CommonUtils.GetStateAbbreviation(DataProxy, Parameters["seo_facilitystate"]) : string.Empty; FacilityStateName = Parameters.ContainsKey("seo_facilitystate") ? CommonUtils.GetStateName(DataProxy, Parameters["seo_facilitystate"]) : string.Empty; TargetCity = Parameters.ContainsKey("seo_targetcity") ? Parameters["seo_targetcity"] : string.Empty; TargetStateAbbreviation = Parameters.ContainsKey("seo_targetstate") ? CommonUtils.GetStateAbbreviation(DataProxy, Parameters["seo_targetstate"]) : string.Empty; TargetStateName = Parameters.ContainsKey("seo_targetstate") ? CommonUtils.GetStateName(DataProxy, Parameters["seo_targetstate"]) : string.Empty; // If we have valid values then add them to cache. Otherwise try to get previouse values from cache. var cache = ServiceContext.GetCache(CacheRegion.Seo, false, false, false); var cacheKey = (HttpContext.Current.Request.UrlReferrer != null) ? HttpContext.Current.Request.UrlReferrer.AbsoluteUri : HttpContext.Current.Request.Url.AbsoluteUri; if (HasFacilityOrTargetMarketValues()) { cache.Put(cacheKey, new SeoSiteSettings(FacilityName, FacilityCity, FacilityStateAbbreviation, FacilityStateName, TargetCity, TargetStateAbbreviation, TargetStateName), CacheSeconds.Larger); } else { if (cache.Contains(cacheKey)) { var cacheValue = (SeoSiteSettings)cache.Get(cacheKey); FacilityName = cacheValue.FacilityName; FacilityCity = cacheValue.FacilityCity; FacilityStateAbbreviation = cacheValue.FacilityStateAbbreviation; FacilityStateName = cacheValue.FacilityStateName; TargetCity = cacheValue.TargetCity; TargetStateAbbreviation = cacheValue.TargetStateAbbreviation; TargetStateName = cacheValue.TargetStateName; } } }
public static LocationContext ResolveLocationContext(DataProxyBase dataProxy, BaseView viewSettings, IDictionary<string, string> parameters) { int? locationId = null; string locationSiteUrl = null; // First look for location context in request parameters if (parameters != null && parameters.ContainsKey("LocationContext") && !string.IsNullOrEmpty(parameters["LocationContext"])) locationId = int.Parse(parameters["LocationContext"]); else { if (viewSettings != null) { // Next look at module instance setting var locationContextSetting = viewSettings.GetSettingValue("LocationContext", null); if (!string.IsNullOrEmpty(locationContextSetting)) locationId = int.Parse(locationContextSetting); } } // Get full context using locationId or request URL //if (viewSettings != null && parameters != null) //{ // locationId = dataProxy.LocationContext.Id; // locationSiteUrl = dataProxy.LocationContext.SiteUrl; //} //else //{ var request = new ResolveOrgUnitContextRequest() { ItemUrl = ServiceContext.RequestReferrerUrl, OrgUnitId = locationId }; var response = dataProxy.ProcessRequest<ResolveOrgUnitContextResponse>(request); locationId = response.OrgUnitId; locationSiteUrl = response.OrgUnitSiteUrl; //} return new LocationContext(locationId, locationSiteUrl); }
public static void SubmitLeadDataAsync(BrightWhistleLead lead, DataProxyBase dataProxy, BaseView viewSettings, IDictionary<string, string> parameters) { var locationContextId = LocationContextHelper.ResolveLocationContext(dataProxy, viewSettings, parameters).Id; lead.SourceUrl = ServiceContext.RequestReferrerUrl; ThreadPool.QueueUserWorkItem(c => SubmitLeadData(lead, locationContextId, dataProxy)); }
public static BrightWhistleSettings ReadSettings(DataProxyBase dataProxy) { var response = dataProxy.ProcessRequest<ReadBrightWhistleSettingsResponse>(new ReadBrightWhistleSettingsRequest()); return response.Settings; }
public SeoHelper(DataProxyBase dataProxy, IDictionary<string, string> parameters) : base(dataProxy, parameters) { }
public DigitalAssetManager(DataProxyBase dataProxy) { _dataProxy = dataProxy; _settings = dataProxy.ProcessRequest<ReadCmsIntegrationSettingsResponse>(new ReadCmsIntegrationSettingsRequest()).Settings; _cmsType = ResolveAssetManagerType(); }
private string ResolveProviderIdFromDirectUrl(DataProxyBase dataProxy, string directUrl) { var request = new ReadProviderIdByDirectUrlRequest { DirectUrl = directUrl }; var providerId = dataProxy.ProcessRequest<ReadProviderIdByDirectUrlResponse>(request).ProviderId; return CommonUtils.JsonSerialize(providerId); }
private void SubmitLeadForEventOccurrence(string eventTitle, string businessUnitId, DataProxyBase dataProxy, PublicModels.EventCartView.EventCartView viewSettings, IDictionary<string, string> parameters) { // Read/validate settings var settings = LeadManagementHelper.ReadSettings(dataProxy); if (string.IsNullOrEmpty(settings.ClientId)) return; if (string.IsNullOrEmpty(businessUnitId)) businessUnitId = settings.EventRegistrationBusinessUnitId; var attendee = viewSettings.PrimaryAttendee; var lead = new BrightWhistleLead(); lead.SetFieldValue(BrightWhistleFields.BusinessUnitId, businessUnitId); lead.SetFieldValue(BrightWhistleFields.LeadSource, "Event Registration"); lead.SetFieldValue(BrightWhistleFields.FirstName, attendee.FirstName); lead.SetFieldValue(BrightWhistleFields.LastName, attendee.LastName); lead.SetFieldValue(BrightWhistleFields.Email, attendee.Email); lead.SetFieldValue(BrightWhistleFields.PhoneNumber, attendee.Phone); lead.SetFieldValue(BrightWhistleFields.Street1, attendee.Address1); lead.SetFieldValue(BrightWhistleFields.Street2, attendee.Address2); lead.SetFieldValue(BrightWhistleFields.City, attendee.City); lead.SetFieldValue(BrightWhistleFields.State, attendee.State); lead.SetFieldValue(BrightWhistleFields.Zip, attendee.PostalCode); lead.SetFieldValue("EventTitle", eventTitle); LeadManagementHelper.SubmitLeadDataAsync(lead, dataProxy, viewSettings, parameters); }
private void SubmitLead(DataProxyBase dataProxy, PublicModels.ProviderAppointmentView.ProviderAppointmentView viewSettings, IDictionary<string, string> parameters) { var settings = LeadManagementHelper.ReadSettings(dataProxy); if (string.IsNullOrEmpty(settings.ClientId)) return; var patient = viewSettings.Patient; var lead = new BrightWhistleLead(); lead.SetFieldValue(BrightWhistleFields.UniqueId, Guid.NewGuid().ToString()); lead.SetFieldValue(BrightWhistleFields.BusinessUnitId, settings.ProviderAppointmentRequestBusinessUnitId); lead.SetFieldValue(BrightWhistleFields.LeadSource, "Appointment Request"); lead.SetFieldValue(BrightWhistleFields.FirstName, patient.FirstName); lead.SetFieldValue(BrightWhistleFields.LastName, patient.LastName); lead.SetFieldValue(BrightWhistleFields.Email, patient.Email); lead.SetFieldValue(BrightWhistleFields.PhoneNumber, patient.Phone); lead.SetFieldValue(BrightWhistleFields.Street1, patient.Address1); lead.SetFieldValue(BrightWhistleFields.Street2, patient.Address2); lead.SetFieldValue(BrightWhistleFields.City, patient.City); lead.SetFieldValue(BrightWhistleFields.State, patient.State); lead.SetFieldValue(BrightWhistleFields.Zip, patient.PostalCode); lead.SetFieldValue(BrightWhistleFields.DateOfBirth, patient.DateOfBirth); lead.SetFieldValue("MiddleName", patient.MiddleName); lead.SetFieldValue("Gender", patient.Gender); lead.SetFieldValue("PatientStatus", patient.PatientStatus); lead.SetFieldValue("PreferredContactMethod", patient.ContactMethod); lead.SetFieldValue("Specialty", viewSettings.Specialty); lead.SetFieldValue("RequestedPhysician", viewSettings.ProviderName); lead.SetFieldValue("PreferredLocation", viewSettings.Location); lead.SetFieldValue("Insurance", viewSettings.Insurance); lead.SetFieldValue("AppointmentDate", viewSettings.AppointmentDate); lead.SetFieldValue("GroupNumber", viewSettings.GroupNumber); lead.SetFieldValue("MemberId", viewSettings.MemberId); lead.SetFieldValue("SymptomsOrComments", viewSettings.Comments); LeadManagementHelper.SubmitLeadDataAsync(lead, dataProxy, viewSettings, parameters); }
private string ResolveEventIdFromDirectUrl(DataProxyBase dataProxy, string directUrl) { var request = new GetEventIdRequest { DirectUrl = directUrl }; var eventId = dataProxy.ProcessRequest<GetEventIdResponse>(request).Id; return CommonUtils.JsonSerialize(eventId); }
private SearchProviderSpecialtiesRequest BuildRequest(DataProxyBase dataProxy, IDictionary<string, string> parameters) { var searchRequest = new SearchProviderSpecialtiesRequest(); //Location Context searchRequest.OrgUnitId = LocationContextHelper.ResolveLocationContext(dataProxy, _viewSettings, parameters).Id; searchRequest.DescendantOption = LocationContextHelper.ResolveLocationDescendantOption(_viewSettings, parameters); //Letter Alpha Search if (parameters.ContainsKey("Letter")) searchRequest.SpecialtyLetter = parameters["Letter"]; return searchRequest; }
public static LocationContext ResolveLocationContext(DataProxyBase dataProxy) { return ResolveLocationContext(dataProxy, null, null); }