private DetailView BuildAdminSettingsView(ModuleInstanceView parent, DetailView settingsData) { var request = new ReadCustomFieldSettingsRequest(); var customFieldSettings = parent.ProcessRequest<ReadCustomFieldSettingsResponse>(request).CustomFields; settingsData.AvailableFields.Clear(); settingsData.AvailableFields.Add(new Field("EventTitle", "Title", FieldTypes.Text, "Fitness After 50") { ShowLabel = false }); settingsData.AvailableFields.Add(new Field("EventDescription", "Description", FieldTypes.Html, "This is the description of this event.")); settingsData.AvailableFields.Add(new Field("SpecialInstructions", "Special Instructions", FieldTypes.Html, "These are the special instructions for this event")); settingsData.AvailableFields.Add(new Field("EventTopics", "Topics", FieldTypes.Multivalue, null) { Values = { "Cancer", "Radiology" } }); settingsData.AvailableFields.Add(new Field("EventTypes", "Types", FieldTypes.Multivalue, null) { Values = { "Class", "Presentation" } }); settingsData.AvailableFields.Add(BuildOccurrencesComplexField()); settingsData.AvailableFields.Add(new Field("Custom1", customFieldSettings.EventCustom1Name, FieldTypes.Html, customFieldSettings.EventCustom1Name + " information.")); settingsData.AvailableFields.Add(new Field("Custom2", customFieldSettings.EventCustom2Name, FieldTypes.Html, customFieldSettings.EventCustom2Name + " information.")); settingsData.AvailableFields.Add(new Field("Custom3", customFieldSettings.EventCustom3Name, FieldTypes.Html, customFieldSettings.EventCustom3Name + " information.")); var imageField = new Field("Image", "Event Image", FieldTypes.Image, null) { ShowLabel = false }; imageField.URL = parent.DefaultEventImageUrl; settingsData.AvailableFields.Add(imageField); settingsData.AvailableFields.AddRange(CommonUtils.BuildDynamicColumnsFields(parent, Constants.EventDynamicColumnEntityId)); settingsData.AvailableFields = settingsData.AvailableFields.OrderBy(f => f.DisplayName).ToList(); return settingsData; }
public string GetModelData(ModuleInstanceView parent, string settingsData, IDictionary<string, string> parameters, bool isConfigView) { // Create Or Deserialize View Data if (string.IsNullOrEmpty(settingsData)) _viewSettings = new DetailView(); else _viewSettings = CommonUtils.JsonDeserialize<DetailView>(settingsData); // Load settings EnsureSeoSettings(); _mappingSettings = parent.ProcessRequest<ReadMappingSettingsResponse>(new ReadMappingSettingsRequest()); _viewSettings.BingMappingKey = _mappingSettings.BingMapsKey; _viewSettings.GoogleMappingKey = _mappingSettings.GoogleMapsKey; // Handle specific commands if (parameters.ContainsKey("Command")) { var result = HandleCommand(parent, parameters); if (result != null) return result; } // Build Admin or Public View if (isConfigView) BuildAdminSettingsView(parent); else { BuildPublicSettingsView(parent, parameters); _viewSettings.AvailableFields.Clear(); } return CommonUtils.JsonSerializeMinimum(_viewSettings); }
private void AddSettings(DetailView viewSettings) { var settingsGroup = viewSettings.GetOrCreateSettingGroup(PublicModelConstants.BasicSettingsGroup); settingsGroup.Settings.Add(new Setting("EventCartPageUrl", "Event Cart URL", SettingFieldType.Text)); var settingGroup = viewSettings.GetOrCreateSettingGroup(PublicModelConstants.SeoSettingsGroup); settingGroup.AddSetting(new Setting(Constants.OverwriteSeoTitleSettingName, "Overwrite SEO Title", SettingFieldType.Boolean, true)); settingGroup.AddSetting(new Setting(Constants.OverwritePageDescriptionSettingName, "Overwrite SEO Description", SettingFieldType.Boolean, true)); settingGroup.AddSetting(new Setting(Constants.OverwriteSeoH1SettingName, "Overwrite SEO H1", SettingFieldType.Boolean, true)); settingGroup.AddSetting(new Setting(Constants.AppendSeoKeywordsSettingName, "Append SEO Keywords", SettingFieldType.Boolean, true)); settingGroup.AddSetting(new Setting(Constants.OverwriteCanonicalUrlSettingName, "Overwrite SEO Canonical URL", SettingFieldType.Boolean, true)); }
private DetailView BuildAdminSettingsView(ModuleInstanceView parent, DetailView settingsData) { settingsData.AvailableFields.Clear(); settingsData.AvailableFields.Add(new Field("ServiceName", "Service Name", FieldTypes.Text, "Service Name")); settingsData.AvailableFields.Add(new Field("ServiceDescription", "Service Description", FieldTypes.Html, "This is my serivce description.")); settingsData.AvailableFields.Add(BuildLocationsComplexField()); settingsData.AvailableFields = settingsData.AvailableFields.OrderBy(f => f.DisplayName).ToList(); return settingsData; }
public string GetModelData(ModuleInstanceView parent, string settingsData, IDictionary<string, string> parameters, bool isConfigView) { if (string.IsNullOrEmpty(settingsData)) _viewSettings = new DetailView(); else _viewSettings = CommonUtils.JsonDeserialize<DetailView>(settingsData); EnsureSeoSettings(); _mappingSettings = parent.ProcessRequest<ReadMappingSettingsResponse>(new ReadMappingSettingsRequest()); _viewSettings.BingMappingKey = _mappingSettings.BingMapsKey; _viewSettings.GoogleMappingKey = _mappingSettings.GoogleMapsKey; if (isConfigView) BuildAdminSettingsView(parent); else { BuildPublicSettingsView(parent, parameters); _viewSettings.AvailableFields.Clear(); } return CommonUtils.JsonSerializeMinimum(_viewSettings); }
public string PopulateDetailViewSeoData(DetailView viewSettings, MEDSEEK.eHealth.ecoSystemSP.Common.Services.ServiceDto service) { return PopulateDetailViewSeoData(viewSettings, service.SeoPageTitle, BuildDetailViewTitleFromFormula(service), service.SeoPageDescription, service.Description, service.SeoH1Tag, service.Name, service.SeoPrimaryKeyword, service.SeoSecondaryKeyword, service.SeoCanonicalUrl); }
public string PopulateDetailViewSeoData(DetailView viewSettings, OrgUnitPublishedDto location) { return PopulateDetailViewSeoData(viewSettings, location.SeoPageTitle, BuildDetailViewTitleFromFormula(location), location.SeoPageDescription, location.Description, location.SeoH1Tag, location.Name, location.SeoPrimaryKeyword, location.SeoSecondaryKeyword, location.SeoCanonicalUrl); }
public string PopulateDetailViewSeoData(DetailView viewSettings, EventDetailDto eventDetail) { return PopulateDetailViewSeoData(viewSettings, eventDetail.SeoPageTitle, BuildDetailViewTitleFromFormula(eventDetail), eventDetail.SeoPageDescription, eventDetail.SummaryDescription, eventDetail.SeoH1Tag, eventDetail.Title, eventDetail.SeoPrimaryKeyword, eventDetail.SeoSecondaryKeyword, eventDetail.SeoCanonicalUrl); }
public string PopulateDetailViewSeoData(DetailView viewSettings, string pageTitle, string altPageTitle, string pageDescription, string altPageDescription, string h1Tag, string altH1Tag, string primaryKeyword, string secondaryKeyword, string canonicalUrl) { var seoData = new List<KeyValuePair<object, object>>(); //SEO Title if (viewSettings.GetBoolSettingValue(Constants.OverwriteSeoTitleSettingName, true)) { if (!string.IsNullOrEmpty(pageTitle)) viewSettings.SeoPageTitle = pageTitle; else viewSettings.SeoPageTitle = altPageTitle; if (!string.IsNullOrEmpty(viewSettings.SeoPageTitle)) seoData.Add(new KeyValuePair<object, object>("SeoPageTitle", viewSettings.SeoPageTitle)); } //SEO Description if (viewSettings.GetBoolSettingValue(Constants.OverwritePageDescriptionSettingName, true)) { if (!string.IsNullOrEmpty(pageDescription)) viewSettings.SeoPageDescription = pageDescription; else { pageDescription = CommonUtils.CleanHtmlContent(altPageDescription); if (pageDescription.Length > 150) viewSettings.SeoPageDescription = pageDescription.Substring(0, 150); else viewSettings.SeoPageDescription = pageDescription; } if (!string.IsNullOrEmpty(viewSettings.SeoPageDescription)) seoData.Add(new KeyValuePair<object, object>("SeoPageDescription", viewSettings.SeoPageDescription)); } //H1 Tag if (viewSettings.GetBoolSettingValue(Constants.OverwriteSeoH1SettingName, true)) { if (!string.IsNullOrEmpty(h1Tag)) viewSettings.SeoH1 = h1Tag; else viewSettings.SeoH1 = altH1Tag; if (!string.IsNullOrEmpty(viewSettings.SeoH1)) seoData.Add(new KeyValuePair<object, object>("SeoH1", viewSettings.SeoH1)); } //Keywords if (viewSettings.GetBoolSettingValue(Constants.AppendSeoKeywordsSettingName, true)) { if (!string.IsNullOrEmpty(primaryKeyword)) { viewSettings.SeoPrimaryKeyword = primaryKeyword; seoData.Add(new KeyValuePair<object, object>("SeoPrimaryKeyword", viewSettings.SeoPrimaryKeyword)); } if (!string.IsNullOrEmpty(secondaryKeyword)) { viewSettings.SeoSecondaryKeyword = secondaryKeyword; seoData.Add(new KeyValuePair<object, object>("SeoSecondaryKeyword", viewSettings.SeoSecondaryKeyword)); } } //Canonical Url if (viewSettings.GetBoolSettingValue(Constants.OverwriteCanonicalUrlSettingName, true)) { if (!string.IsNullOrEmpty(canonicalUrl)) viewSettings.SeoCanonicalUrl = canonicalUrl; else if(!string.IsNullOrEmpty(ServiceContext.RequestReferrerUrl)) viewSettings.SeoCanonicalUrl = ServiceContext.RequestReferrerUrl; if(!string.IsNullOrEmpty(viewSettings.SeoCanonicalUrl)) seoData.Add(new KeyValuePair<object, object>("SeoCanonicalUrl", viewSettings.SeoCanonicalUrl)); } return CommonUtils.JsonSerialize(seoData); }
public string PopulateDetailViewSeoData(DetailView viewSettings, ProviderProfileDto provider) { return PopulateDetailViewSeoData(viewSettings, provider.SeoPageTitle, BuildDetailViewTitleFromFormula(provider), provider.SeoPageDescription, provider.AboutMe, provider.SeoH1Tag, provider.FullName, provider.SeoPrimaryKeyword, provider.SeoSecondaryKeyword, provider.SeoCanonicalUrl); }
private DetailView BuildPublicSettingsView(ModuleInstanceView parent, DetailView settingsData, IDictionary<string, string> parameters) { string eventId; if (parameters.TryGetValue("EventId", out eventId)) { var request = new ReadEventDetailRequest() { EventId = int.Parse(eventId, CultureInfo.InvariantCulture) }; var eventDetail = parent.ProcessRequest<ReadEventDetailResponse>(request).Event; DynamicColumnData = eventDetail.DynamicColumns; DynamicColumnDefitions = CommonUtils.GetDynamicColumnInstances(parent, Constants.EventDynamicColumnEntityId); foreach (var zone in settingsData.StaticPageZones.Select(z => z.Value).Union(settingsData.DynamicPageZones)) { foreach (var column in zone.FieldColumns) { List<Field> occurrencesFieldList = null; foreach (var field in column.Fields) { if (field.FieldName == "Occurrences") { occurrencesFieldList = PopulateOccurrencesFieldData(parent, eventDetail, field, parameters); field.FieldName = "ReplaceMe"; } else { PopulateFieldData(parent, eventDetail, field); } } //Replace Locations Complex Field with correct field list if (occurrencesFieldList != null) { var index = column.Fields.IndexOf(column.Fields.First(f => f.FieldName == "ReplaceMe")); column.Fields.InsertRange(index, occurrencesFieldList); index = column.Fields.IndexOf(column.Fields.First(f => f.FieldName == "ReplaceMe")); column.Fields.RemoveAt(index); } } } // Add SEO data to response PopulateSeoData(parent, eventDetail, parameters); } return settingsData; }
private DetailView BuildPublicSettingsView(ModuleInstanceView parent, DetailView settingsData, IDictionary<string, string> parameters) { string serviceId; if (parameters.TryGetValue("ServiceId", out serviceId)) { var request = new ReadServiceByIdRequest() { ServiceId = int.Parse(serviceId) }; var service = parent.ProcessRequest<ReadServiceByIdResponse>(request).Service; foreach (var zone in settingsData.StaticPageZones.Select(z => z.Value).Union(settingsData.DynamicPageZones)) { foreach (var column in zone.FieldColumns) { List<Field> locationsFieldList = null; foreach (var field in column.Fields) { if (field.FieldName == "Locations") { locationsFieldList = PopulateLocationsFieldData(parent, service, field, parameters); field.FieldName = "ReplaceMe"; } else { PopulateFieldData(parent, service, field); } } //Replace Locations Complex Field with correct field list if (locationsFieldList != null) { var index = column.Fields.IndexOf(column.Fields.First(f => f.FieldName == "ReplaceMe")); column.Fields.InsertRange(index, locationsFieldList); index = column.Fields.IndexOf(column.Fields.First(f => f.FieldName == "ReplaceMe")); column.Fields.RemoveAt(index); } } } // Add SEO data to the response PopulateSeoData(parent, service, parameters); } return settingsData; }