private List<Field> PopulateLocationsFieldData(ModuleInstanceView parent, MEDSEEK.eHealth.ecoSystemSP.Common.Services.ServiceDto service, Field templateField, IDictionary<string, string> parameters) { var locationsFields = new List<Field>(); var request = new ReadServiceByIdRequest() { ServiceId = service.Id }; var response = parent.ProcessRequest<ReadServiceByIdResponse>(request); var seoHelper = new SeoHelper(parent, parameters); foreach (var location in response.Service.Serviceorgunits) { var locationField = (Field)templateField.Clone(); if(string.IsNullOrEmpty(_viewSettings.SeoSchema)) _viewSettings.SeoSchema = seoHelper.BuildSeoSchemaField(location); foreach (var column in locationField.FieldColumns) { foreach (var field in column.Fields) { switch (field.FieldName) { case "LocationName": field.Value = location.Name; break; case "LocationAddress": var sb = new StringBuilder(); sb.Append(location.Address1 + "<br />"); if (!string.IsNullOrEmpty(location.Address2)) sb.Append(location.Address2 + "<br />"); sb.AppendFormat("{0}, {1} {2}", location.City, location.State, location.Zip); field.Value = sb.ToString(); break; case "Phone": field.Value = location.PhoneNumber; break; case "Fax": field.Value = location.Fax; break; case "Hours": field.Values.Clear(); foreach (var schedule in location.Schedule) field.Values.Add(string.Format("{0} {1}-{2}", schedule.Day, schedule.Open, schedule.Close)); break; case "Map": field.Value = "mapDiv_" + location.Id; field.MappingProvider = _mappingSettings.MappingProvider.ToString().ToUpperInvariant(); field.MapItem = new MapItem() { Title = location.Name, Latitude = location.Latitude.ToString(), Longitude = location.Longitude.ToString(), LocationAddress = location.MappingAddress, LocationPhoneNum = location.PhoneNumber }; break; } } } locationsFields.Add(locationField); } return locationsFields; }
private void PopulateSeoData(ModuleInstanceView parent, ServiceDto service, IDictionary<string, string> parameters) { var seoHelper = new SeoHelper(parent, parameters); //SEO Data var seoData = seoHelper.PopulateDetailViewSeoData(_viewSettings, service); parent.ResponseParameters.Add(CommonParameters.SeoData, seoData); //SEO Schema if (!string.IsNullOrEmpty(_viewSettings.SeoSchema)) parent.ResponseParameters.Add(CommonParameters.SeoSchema, _viewSettings.SeoSchema); }
private void PopulateSeoData(IDictionary<string, string> parameters) { var seoHelper = new SeoHelper(_view, parameters); //SEO Title var pageTitle = seoHelper.BuildListViewTitleFromFormula(_viewSettings, _view.SearchSettings); var seoData = seoHelper.PopulateListViewSeoData(_viewSettings, pageTitle); _view.ResponseParameters.Add(CommonParameters.SeoData, seoData); }