private SearchView BuildAdminSettingsView(ModuleInstanceView parent, SearchView settingsData) { settingsData.AvailableFields.Clear(); settingsData.AvailableFields.Add(new Field("Keyword", "Keyword", FieldTypes.TextBox, null) { HintText = "Enter Keyword" }); settingsData.AvailableFields.Add(new Field("Event", "Event Title", FieldTypes.LazyLoadDropdown, null) { HintText = "Select Event" }); settingsData.AvailableFields.Add(new Field("Location", "Location", FieldTypes.LazyLoadDropdown, null) { HintText = "Select Location" }); settingsData.AvailableFields.Add(new Field("EventType", "Type", FieldTypes.LazyLoadDropdown, null) { HintText = "Select Type" }); settingsData.AvailableFields.Add(new Field("EventTopic", "Topic", FieldTypes.LazyLoadDropdown, null) { HintText = "Select Topic" }); settingsData.AvailableFields.Add(new Field("StartDate", "Start Date", FieldTypes.DatePicker, null) { HintText = "Select Start Date" }); settingsData.AvailableFields.Add(new Field("EndDate", "End Date", FieldTypes.DatePicker, null) { HintText = "Select End Date" }); settingsData.AvailableFields.Add(new Field("PostalCode", "ZIP Code", FieldTypes.TextBox, null) { HintText = "Enter ZIP Code" }); var radiusDistanceField = new Field("RadiusDistance", "Search Within", FieldTypes.Dropdown, ""); radiusDistanceField.Options.Add(new KeyValuePair<object, object>(null, "Any")); radiusDistanceField.Options.AddRange(_searchSettings.SearchRadiusOptions.Select(s => new KeyValuePair<object, object>(s, s)).ToList()); settingsData.AvailableFields.Add(radiusDistanceField); settingsData.AvailableFields = settingsData.AvailableFields.OrderBy(f => f.DisplayName).ToList(); // Add admin-only settings LocationContextHelper.AddLocationSettingsGroup(parent, settingsData); return settingsData; }
private Field BuildLocationsComplexField() { var locationsField = new Field("Locations", "Locations", FieldTypes.Complex, null) { ShowLabel = false }; locationsField.AvailableFields.Add(new Field("LocationName", "Location Name", FieldTypes.Text, "Baptist Medical Center")); locationsField.AvailableFields.Add(new Field("LocationAddress", "Location Address", FieldTypes.Html, "123 Main St.<br />City, ST 55555")); locationsField.AvailableFields.Add(new Field("Phone", "Phone", FieldTypes.Text, "123-555-1234")); locationsField.AvailableFields.Add(new Field("Fax", "Fax", FieldTypes.Text, "123-555-1234")); var locationHoursField = new Field("Hours", "Hours", FieldTypes.Multivalue, null); locationHoursField.Values.Add("Monday 8:00-5:00"); locationHoursField.Values.Add("Tuesday 9:00-5:00"); locationsField.AvailableFields.Add(locationHoursField); var mapField = new Field("Map", "Map", FieldTypes.Map, "mapDiv_1") { ShowLabel = false }; mapField.MapItem = new MapItem() { Title = "Baptist Medical Center", Latitude = "34", Longitude = "-93", LocationAddress = "3000 Galleria Circle, Birmingam, AL 35244", LocationPhoneNum = "555-4444" }; locationsField.AvailableFields.Add(mapField); return locationsField; }
private void BuildAdminView() { _viewSettings.AvailableFields.Clear(); var request = new ReadCustomFieldSettingsRequest(); var customFieldSettings = _view.ProcessRequest<ReadCustomFieldSettingsResponse>(request).CustomFields; var field = new Field("ServiceNameLink", "Service Name Link", FieldTypes.Hyperlink, "Service Name") { URL = "#", ShowLabel = false }; _viewSettings.AvailableFields.Add(field); field = new Field("ServiceName", "Service Name", FieldTypes.Text, "Service Name"); _viewSettings.AvailableFields.Add(field); field = new Field("ServiceDescription", "Service Description", FieldTypes.WYSIWYG, "This is my serivce description."); _viewSettings.AvailableFields.Add(field); field = new Field("ServiceLocationCount", "Location Count", FieldTypes.Text, "5"); _viewSettings.AvailableFields.Add(field); field = new Field("ServiceProviderCount", "Provider Count", FieldTypes.Text, "53"); _viewSettings.AvailableFields.Add(field); _viewSettings.AvailableFields = _viewSettings.AvailableFields.OrderBy(f => f.DisplayName).ToList(); // Add admin-only settings LocationContextHelper.AddLocationSettingsGroup(_view, _viewSettings); }
private SearchView BuildAdminSettingsView(ModuleInstanceView parent, SearchView settingsData) { settingsData.AvailableFields.Clear(); settingsData.AvailableFields.Add(new Field("Provider", "Provider Name", FieldTypes.LazyLoadDropdown, null) { HintText = "Select Provider" }); settingsData.AvailableFields.Add(new Field("Keyword", "Keyword", FieldTypes.TextBox, null) { HintText = "Enter Keyword" }); settingsData.AvailableFields.Add(new Field("Gender", "Gender", FieldTypes.Dropdown, null) { HintText = "Select Gender" }); settingsData.AvailableFields.Add(new Field("Specialty", "Specialty", FieldTypes.LazyLoadDropdown, null) { HintText = "Select Specialty" }); settingsData.AvailableFields.Add(new Field("Condition", "Condition", FieldTypes.LazyLoadDropdown, null) { HintText = "Select Condition" }); settingsData.AvailableFields.Add(new Field("Insurance", "Insurance", FieldTypes.LazyLoadDropdown, null) { HintText = "Select Insurance" }); settingsData.AvailableFields.Add(new Field("Language", "Language", FieldTypes.LazyLoadDropdown, null) { HintText = "Select Language" }); settingsData.AvailableFields.Add(new Field("Location", "Location", FieldTypes.LazyLoadDropdown, null) { HintText = "Select Location" }); settingsData.AvailableFields.Add(new Field("OnlyAcceptingNewPatients", "Accepting New Patients", FieldTypes.Checkbox, null)); settingsData.AvailableFields.Add(new Field("City", "City", FieldTypes.LazyLoadDropdown, null) { HintText = "Select City" }); settingsData.AvailableFields.Add(new Field("State", "State", FieldTypes.LazyLoadDropdown, null) { HintText = "Select State" }); settingsData.AvailableFields.Add(new Field("ClinicalInterest", "Clinical Interest", FieldTypes.LazyLoadDropdown, null) { HintText = "Select Interest" }); settingsData.AvailableFields.Add(new Field("ProviderType", "Provider Type", FieldTypes.LazyLoadDropdown, null) { HintText = "Select Type" }); settingsData.AvailableFields.Add(new Field("PostalCode", "ZIP Code", FieldTypes.TextBox, null) { HintText = "Enter ZIP Code" }); var radiusDistanceField = new Field("RadiusDistance", "Search Within", FieldTypes.Dropdown, ""); radiusDistanceField.Options.Add(new KeyValuePair<object, object>(null, "Any")); radiusDistanceField.Options.AddRange(parent.SearchSettings.SearchRadiusOptions.Select(s => new KeyValuePair<object, object>(s, s)).ToList()); settingsData.AvailableFields.Add(radiusDistanceField); settingsData.AvailableFields = settingsData.AvailableFields.OrderBy(f => f.DisplayName).ToList(); // Add admin-only settings LocationContextHelper.AddLocationSettingsGroup(parent, settingsData); return settingsData; }
private EventCartButtonViewModel BuildAdminSettingsView(EventCartButtonViewModel settingsData) { settingsData.AvailableFields.Clear(); var field = new Field("EventCartButton", "Event Cart Button", FieldTypes.Html, "<a href='#' class='btn btn-primary'>Event Cart</a>"); settingsData.AvailableFields.Add(field); return settingsData; }
private void BuildAdminView(ModuleInstanceView parent) { var field = new Field("SpecialtiesList", "Specialty Name Link", FieldTypes.Html, ""); _viewSettings.AvailableFields.Add(field); _viewSettings.ExclusiveLayoutTemplates = new List<string> { Constants.Templates.SimpleList }; // Add admin-only settings LocationContextHelper.AddLocationSettingsGroup(parent, _viewSettings); }
public static Field BuildBoardCertificationsComplexField() { var boardCertification = new Field("BoardCertification", "Board Certifications", FieldTypes.Complex, null) { ShowLabel = false }; boardCertification.AvailableFields.Add(new Field("CertificationAgency", "Certification Agency", FieldTypes.Text, "AOABS")); boardCertification.AvailableFields.Add(new Field("MemberBoard", "Member Board", FieldTypes.Html, "American Osteopathic Board of Nuclear Medicine")); boardCertification.AvailableFields.Add(new Field("Specialty", "Specialty", FieldTypes.Html, "Osteopathic Medicine")); boardCertification.AvailableFields.Add(new Field("YearofIssuance", "Year of Issuance", FieldTypes.Html, "1998")); boardCertification.AvailableFields = boardCertification.AvailableFields.OrderBy(f => f.DisplayName).ToList(); return boardCertification; }
private void BuildAdminSettingsView(ModuleInstanceView parent) { var request = new ReadCustomFieldSettingsRequest(); var customFieldSettings = parent.ProcessRequest<ReadCustomFieldSettingsResponse>(request).CustomFields; _viewSettings.AvailableFields.Clear(); _viewSettings.AvailableFields.Add(new Field("LocationName", "Name", FieldTypes.Text, "Location Name")); _viewSettings.AvailableFields.Add(new Field("LocationDescription", "Description", FieldTypes.Html, "This is my Location description.")); _viewSettings.AvailableFields.Add(new Field("LocationVideos", "Videos", FieldTypes.Html, "This is my video information, or links to my videos.")); _viewSettings.AvailableFields.Add(new Field("LocationCity", "City", FieldTypes.Text, "Birmingham")); _viewSettings.AvailableFields.Add(new Field("LocationState", "State", FieldTypes.Text, "AL")); _viewSettings.AvailableFields.Add(new Field("LocationPostalCode", "Postal Code", FieldTypes.Text, "12345")); _viewSettings.AvailableFields.Add(new Field("LocationPhone", "Phone", FieldTypes.Text, "123-555-1234")); _viewSettings.AvailableFields.Add(new Field("LocationAddress", "Address", FieldTypes.Html, "123 Main St,<br/>Birmingham, AL 35244")); _viewSettings.AvailableFields.Add(new Field("LocationAddress1", "Address1", FieldTypes.Html, "123 Main St")); _viewSettings.AvailableFields.Add(new Field("LocationAddress2", "Address2", FieldTypes.Html, "Suite 100")); _viewSettings.AvailableFields.Add(new Field("LocationFax", "Fax", FieldTypes.Text, "123-555-1234")); var imageField = new Field("LocationImage", "Location Image", FieldTypes.Image, null); imageField.URL = parent.DefaultLocationImageUrl; _viewSettings.AvailableFields.Add(imageField); var locationHoursField = new Field("LocationHours", "Hours", FieldTypes.Multivalue, null); locationHoursField.Values.Add("Monday 8:00-5:00"); locationHoursField.Values.Add("Tuesday 9:00-5:00"); _viewSettings.AvailableFields.Add(locationHoursField); var mapField = new Field("LocationMap", "Map", FieldTypes.Map, "mapDiv_1") { ShowLabel = false }; mapField.MapItem = new MapItem() { Title = "Baptist Medical Center", Latitude = "34", Longitude = "-93", LocationAddress = "3000 Galleria Circle, Birmingam, AL 35244", LocationPhoneNum = "555-4444" }; _viewSettings.AvailableFields.Add(mapField); _viewSettings.AvailableFields.Add(new Field("Custom1", customFieldSettings.OrgUnitCustom1Name, FieldTypes.Html, customFieldSettings.OrgUnitCustom1Name + " information.")); _viewSettings.AvailableFields.Add(new Field("Custom2", customFieldSettings.OrgUnitCustom2Name, FieldTypes.Html, customFieldSettings.OrgUnitCustom2Name + " information.")); _viewSettings.AvailableFields.Add(new Field("Custom3", customFieldSettings.OrgUnitCustom3Name, FieldTypes.Html, customFieldSettings.OrgUnitCustom3Name + " information.")); _viewSettings.AvailableFields.AddRange(CommonUtils.BuildDynamicColumnsFields(parent, Constants.OrgUnitDynamicColumnEntityId)); _viewSettings.AvailableFields = _viewSettings.AvailableFields.OrderBy(f => f.DisplayName).ToList(); //Add Conditional Field _viewSettings.AvailableFields.Add(CommonUtils.CreateConditionalField(_viewSettings.AvailableFields)); }
private Field BuildOccurrencesComplexField() { var occurrencesField = new Field("Occurrences", "Event Occurrences", FieldTypes.Complex, null); occurrencesField.AvailableFields.Add(new Field("EventTitle", "Event Title", FieldTypes.Text, "Fitness After 50")); occurrencesField.AvailableFields.Add(new Field("EventImage", "Event Image", FieldTypes.Image, null) { URL = "http://www.lbusd.org/uploaded/1-District/Resources/Documents/calendar_icon_flat1.png"}); occurrencesField.AvailableFields.Add(new Field("Description", "Description", FieldTypes.Html, "A class focusing on fitness after 50")); occurrencesField.AvailableFields.Add(new Field("DateTime", "Date/Time", FieldTypes.Text, DateTime.Now.AddDays(30).ToString("M/d/yy h:mm tt"))); occurrencesField.AvailableFields.Add(new Field("Registrants", "Registrants", FieldTypes.Multivalue, null) { Values = {"John Doe", "Jane Doe"}}); occurrencesField.AvailableFields = occurrencesField.AvailableFields.OrderBy(f => f.DisplayName).ToList(); return occurrencesField; }
public string CalculateProviderFullName(string prefix, string firstName, string middleName, string lastName, string suffix, string additionalSuffix, Field field) { var sb = new StringBuilder(); var ignoreFieldSettings = (field == null); if (ignoreFieldSettings || field.GetBoolSetting("IncludeNamePrefix", true)) sb.Append(prefix + " "); if (ignoreFieldSettings || field.GetBoolSetting("IncludeFirstName", true)) sb.Append(firstName + " "); if (ignoreFieldSettings || field.GetBoolSetting("IncludeMiddleName", true)) sb.Append(middleName + " "); if (ignoreFieldSettings || field.GetBoolSetting("IncludeLastName", true)) sb.Append(lastName + " "); if (ignoreFieldSettings || field.GetBoolSetting("IncludeNameSuffix", true)) sb.Append(suffix + " "); if (ignoreFieldSettings || field.GetBoolSetting("IncludeAdditionalSuffix", true)) sb.Append(additionalSuffix); return sb.ToString(); }
public static List<Field> PopulateBoardCertificationsFieldData(ModuleInstanceView parent, ProviderSearchResultDto provider, Field templateField) { var boardCertificationsFields = new List<Field>(); var request = new ListProviderCertificationSpecialtyRequest() { ProviderId = provider.Id }; var response = parent.ProcessRequest<ListProviderCertificationSpecialtyResponse>(request); foreach (var certification in response.CertificationSpecialties) { var certificationField = (Field)templateField.Clone(); foreach (var column in certificationField.FieldColumns) { foreach (var field in column.Fields) { switch (field.FieldName) { case "CertificationAgency": field.Value = certification.CertificationAgencyName; break; case "MemberBoard": field.Value = certification.CertificationBoardName; break; case "Specialty": field.Value = certification.CertificationSpecialtyName; break; case "YearofIssuance": field.Value = certification.YearOfIssuance; break; } } } boardCertificationsFields.Add(certificationField); } return boardCertificationsFields; }
private void BuildAdminSettingsView(ModuleInstanceView parent) { var request = new ReadCustomFieldSettingsRequest(); var customFieldSettings = parent.ProcessRequest<ReadCustomFieldSettingsResponse>(request).CustomFields; _viewSettings.AvailableFields.Clear(); _viewSettings.AvailableFields.Add(new Field("Gender", "Gender", FieldTypes.Text, "Male")); var nameField = new Field("ProviderName", "Name", FieldTypes.Text, "Configured Provider Name"); nameField.AddSetting(new Setting("IncludeNamePrefix", "Name Prefix", SettingFieldType.Boolean, true)); nameField.AddSetting(new Setting("IncludeFirstName", "First Name", SettingFieldType.Boolean, true)); nameField.AddSetting(new Setting("IncludeMiddleName", "Middle Name", SettingFieldType.Boolean, true)); nameField.AddSetting(new Setting("IncludeLastName", "Last Name", SettingFieldType.Boolean, true)); nameField.AddSetting(new Setting("IncludeNameSuffix", "Name Suffix", SettingFieldType.Boolean, true)); nameField.AddSetting(new Setting("IncludeAdditionalSuffix", "Additional Suffix", SettingFieldType.Boolean, true)); _viewSettings.AvailableFields.Add(nameField); var appointmentRequestField = new Field("AppointmentRequestLink", "Appointment Request Link", FieldTypes.Hyperlink, "Appointment Request Link") { URL = "#", ShowLabel = false }; appointmentRequestField.AddSetting(new Setting("AppointmentRequestLinkText", "Link Text", SettingFieldType.Text)); appointmentRequestField.AddSetting(new Setting("AppointmentRequestPageUrl", "Appointment Request URL", SettingFieldType.Text)); _viewSettings.AvailableFields.Add(appointmentRequestField); _viewSettings.AvailableFields.Add(new Field("DateOfBirth", "Date of Birth", FieldTypes.Text, "9/1/1965")); _viewSettings.AvailableFields.Add(new Field("InPracticeSince", "In Practice Since", FieldTypes.Text, "9/1/1990")); _viewSettings.AvailableFields.Add(new Field("Age", "Age", FieldTypes.Text, "43")); _viewSettings.AvailableFields.Add(new Field("Experience", "Experience", FieldTypes.Text, "20 Years")); _viewSettings.AvailableFields.Add(new Field("PrimarySpecialty", "Primary Specialty", FieldTypes.Text, "Allergy/Immunology")); _viewSettings.AvailableFields.Add(new Field("PrimaryPhone", "Phone", FieldTypes.Text, "123-555-1234")); _viewSettings.AvailableFields.Add(new Field("PrimaryFax", "Fax", FieldTypes.Text, "123-555-1234")); _viewSettings.AvailableFields.Add(new Field("PrimaryEmail", "Email", FieldTypes.Text, "*****@*****.**")); _viewSettings.AvailableFields.Add(new Field("PrimaryLocationName", "Primary Location Name", FieldTypes.Text, "My Hospital")); _viewSettings.AvailableFields.Add(new Field("PrimaryLocationCompleteAddress", "Primary Location Address", FieldTypes.Text, "123 Main St.<br />City, ST 55555")); _viewSettings.AvailableFields.Add(new Field("ProviderTypes", "Provider Types", FieldTypes.Multivalue, null) { Values = { "Doctor", "Professor" } }); _viewSettings.AvailableFields.Add(new Field("ProviderLanguages", "Languages", FieldTypes.Multivalue, null) { Values = { "English", "Spanish" } }); _viewSettings.AvailableFields.Add(new Field("ClinicalInterests", "Clinical Interests", FieldTypes.Multivalue, null) { Values = { "Cardiology", "Diabetes" } }); _viewSettings.AvailableFields.Add(new Field("Specialties", "Specialties", FieldTypes.Multivalue, null) { Values = { "Allergy/Immunology", "Cancer" } }); _viewSettings.AvailableFields.Add(new Field("AboutMe", "About Me", FieldTypes.Html, "This is all about me.")); _viewSettings.AvailableFields.Add(new Field("PhilosophyOfCare", "Philosophy of Care", FieldTypes.Html, "This is my philosophy of care.")); _viewSettings.AvailableFields.Add(new Field("AdditionalInfo", "Additional Info", FieldTypes.Html, "This is my additional information")); _viewSettings.AvailableFields.Add(new Field("Website", "Website", FieldTypes.Html, "This is my website information")); _viewSettings.AvailableFields.Add(BuildEducationsComplexField()); _viewSettings.AvailableFields.Add(ProviderModuleUtils.BuildBoardCertificationsComplexField()); _viewSettings.AvailableFields.Add(BuildLocationsComplexField()); _viewSettings.AvailableFields.Add(new Field("Videos", "Videos", FieldTypes.Html, "This is my video information, or links to my videos.")); _viewSettings.AvailableFields.Add(new Field("Custom1", customFieldSettings.ProviderCustom1Name, FieldTypes.Html, customFieldSettings.ProviderCustom1Name + " information.")); _viewSettings.AvailableFields.Add(new Field("Custom2", customFieldSettings.ProviderCustom2Name, FieldTypes.Html, customFieldSettings.ProviderCustom2Name + " information.")); _viewSettings.AvailableFields.Add(new Field("Custom3", customFieldSettings.ProviderCustom3Name, FieldTypes.Html, customFieldSettings.ProviderCustom3Name + " information.")); var imageField = new Field("Image", "Provider Image", FieldTypes.Image, null); imageField.URL = parent.DefaultProviderImageUrl; _viewSettings.AvailableFields.Add(imageField); _viewSettings.AvailableFields.AddRange(CommonUtils.BuildDynamicColumnsFields(parent, Constants.ProviderDynamicColumnEntityId)); _viewSettings.AvailableFields = _viewSettings.AvailableFields.OrderBy(f => f.DisplayName).ToList(); //Add Conditional Field _viewSettings.AvailableFields.Add(CommonUtils.CreateConditionalField(_viewSettings.AvailableFields)); }
private List<Field> PopulateLocationsFieldData(ModuleInstanceView parent, ProviderProfileDto provider, Field templateField) { var locationsFields = new List<Field>(); var request = new ListProviderOrgUnitsRequest() { ProviderId = provider.Id }; var response = parent.ProcessRequest<ListProviderOrgUnitsResponse>(request); foreach (var location in response.OrgUnits) { var locationField = (Field)templateField.Clone(); 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.PostalCode); field.Value = sb.ToString(); break; case "Phone": field.Value = location.DisplayPhone; break; case "Fax": field.Value = location.DisplayFax; break; case "AcceptingNewPatients": if (location.IsAcceptingNewPatients) field.Value = field.TrueValue; else field.Value = field.FalseValue; break; case "Insurances": field.Values.Clear(); foreach (var insurance in location.Insurance) field.Values.Add(insurance.InsuranceName); break; case "Services": field.Values.Clear(); foreach (var service in location.Service) field.Values.Add(service.ServiceName); 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.OrgUnitId; field.MappingProvider = _mappingSettings.MappingProvider.ToString().ToUpperInvariant(); field.MapItem = new MapItem() { Title = location.Name, Latitude = location.Latitude.HasValue ? location.Latitude.ToString() : string.Empty, Longitude = location.Longitude.HasValue ? location.Longitude.ToString() : string.Empty, LocationAddress = string.Format("{0}, {1}, {2} {3}", location.Address1, location.City, location.State, location.PostalCode), LocationPhoneNum = location.DisplayPhone }; break; case "AppointmentRequestLink": if (location.AllowAppointmentRequests) { field.Value = ProviderUtils.GetAppointmentRequestLinkText(field); field.URL = ProviderUtils.GetAppointmentRequestLinkUrl(field, provider.Id, location.Id); } else { field.URL = string.Empty; field.Value = string.Empty; } break; } } } locationsFields.Add(locationField); } return locationsFields; }
private void PopulateFieldData(ModuleInstanceView parent, ProviderProfileDto provider, Field field) { //Handle Dynamic Column Data if (field.FieldName.StartsWith(Constants.DynamicColumnPrefix)) { var dynamicColumnFieldName = field.FieldName.Replace(Constants.DynamicColumnPrefix, string.Empty); var dynamicColumn = DynamicColumnData.FirstOrDefault(c => c.FieldName == dynamicColumnFieldName); if (dynamicColumn != null && DynamicColumnDefinitions.Any(c => c.Name == dynamicColumnFieldName)) field.Value = dynamicColumn.FieldValue; else field.Value = string.Empty; } //Handle Standard Column Data else { switch (field.FieldName) { case "Gender": field.Value = provider.Gender; break; case "ProviderName": field.Value = parent.CalculateProviderFullName(provider.NamePrefix, provider.FirstName, provider.MiddleName, provider.LastName, provider.NameSuffix, provider.AdditionalSuffix, field); break; case "Image": if (!string.IsNullOrEmpty(provider.ImageUrl)) field.URL = provider.ImageUrl; else field.URL = parent.DefaultProviderImageUrl; field.Value = parent.CalculateProviderFullName(provider.NamePrefix, provider.FirstName, provider.MiddleName, provider.LastName, provider.NameSuffix, provider.AdditionalSuffix, field); break; case "DateOfBirth": field.Value = provider.DateOfBirth.HasValue ? provider.DateOfBirth.Value.ToString("M/d/yyyy") : string.Empty; break; case "InPracticeSince": field.Value = provider.InPracticeSince.HasValue ? provider.DateOfBirth.Value.ToString("M/d/yyyy") : string.Empty; break; case "Age": field.Value = provider.Age; break; case "Experience": field.Value = provider.Experience; break; case "PrimarySpecialty": field.Value = provider.PrimarySpecialtyName; break; case "PrimaryPhone": field.Value = provider.Phone; break; case "PrimaryFax": field.Value = provider.Fax; break; case "PrimaryEmail": field.Value = provider.Email; break; case "PrimaryLocationName": field.Value = provider.PrimaryOrgUnitName; break; case "PrimaryLocationCompleteAddress": field.Value = string.Format("{0}<br />{1}, {2} {3}", !string.IsNullOrEmpty(provider.PrimaryOrgUnitAddress2) ? provider.PrimaryOrgUnitAddress1 + "<br />" + provider.PrimaryOrgUnitAddress2 : provider.PrimaryOrgUnitAddress1, provider.PrimaryOrgUnitCity, provider.PrimaryOrgUnitStateAbbreviated, provider.PrimaryOrgUnitPostalCode); break; case "ProviderTypes": var typesRequest = new ListProviderProviderTypeRequest() { ProviderId = provider.Id }; var types = parent.ProcessRequest<ListProviderProviderTypeResponse>(typesRequest).ProviderTypes; field.Values = types.Select(t => t.ProviderTypeName).Cast<object>().ToList(); break; case "ProviderLanguages": var languagesRequest = new ListProviderLanguagesRequest() { ProviderId = provider.Id }; var languages = parent.ProcessRequest<ListProviderLanguagesResponse>(languagesRequest).Languages; field.Values = languages.Select(l => l.LanguageName).Cast<object>().ToList(); break; case "ClinicalInterests": var interestsRequest = new ListProviderClinicalInterestRequest() { ProviderId = provider.Id }; var interests = parent.ProcessRequest<ListProviderClinicalInterestResponse>(interestsRequest).ClinicalInterests; field.Values = interests.Select(l => l.ClinicalInterestName).Cast<object>().ToList(); break; case "Specialties": var specialtiesRequest = new ListProviderSpecialtiesRequest() { ProviderId = provider.Id }; var specialties = parent.ProcessRequest<ListProviderSpecialtiesResponse>(specialtiesRequest).ProviderSpecialties; field.Values = specialties.Select(l => l.SpecialtyName).Cast<object>().ToList(); break; case "AboutMe": field.Value = provider.AboutMe; break; case "PhilosophyOfCare": field.Value = provider.PhilosophyOfCare; break; case "AdditionalInfo": field.Value = provider.AdditionalInformation; break; case "Website": field.Value = provider.Website; break; case "Videos": field.Value = provider.VideoContent; break; case "Custom1": field.Value = provider.Custom1; break; case "Custom2": field.Value = provider.Custom2; break; case "Custom3": field.Value = provider.Custom3; break; case "ConditionalField": if (string.IsNullOrEmpty(field.ConditionalSettings.ConditionalField) || string.IsNullOrEmpty(field.ConditionalSettings.ConditionalValue) || string.IsNullOrEmpty(field.ConditionalSettings.ConditionOperation)) return; var conditionalField = _viewSettings.AvailableFields.First(f => f.FieldName == field.ConditionalSettings.ConditionalField); PopulateFieldData(parent, provider, conditionalField); Field fieldToShow = null; if (!string.IsNullOrEmpty(field.ConditionalSettings.FieldToShow)) { fieldToShow = _viewSettings.AvailableFields.First(f => f.FieldName == field.ConditionalSettings.FieldToShow); PopulateFieldData(parent, provider, fieldToShow); } CommonUtils.PopulateConditionalFieldValue(field, conditionalField, fieldToShow); break; case "AppointmentRequestLink": if (provider.PrimaryOrgUnitAllowAppointmentRequests) { field.Value = ProviderUtils.GetAppointmentRequestLinkText(field); field.URL = ProviderUtils.GetAppointmentRequestLinkUrl(field, provider.Id, provider.PrimaryOrgUnitId); } else { field.URL = string.Empty; field.Value = string.Empty; } break; } } }
private List<Field> PopulateEducationsFieldData(ModuleInstanceView parent, ProviderProfileDto provider, Field templateField) { var educationFields = new List<Field>(); var request = new ListProviderEducationRequest() { ProviderId = provider.Id }; var response = parent.ProcessRequest<ListProviderEducationResponse>(request); foreach (var education in response.Records) { var locationField = (Field)templateField.Clone(); foreach (var column in locationField.FieldColumns) { foreach (var field in column.Fields) { switch (field.FieldName) { case "EducationType": field.Value = education.EducationTypeName; break; case "InstitutionName": field.Value = education.InstitutionName; break; case "IsCompleted": field.Value = education.IsCompleted; break; case "YearCompleted": field.Value = education.YearCompleted; break; } } } educationFields.Add(locationField); } return educationFields; }
private Field BuildLocationsComplexField() { var locationsField = new Field("Locations", "Locations", FieldTypes.Complex, null) { ShowLabel = false }; locationsField.AvailableFields.Add(new Field("LocationName", "Location Name", FieldTypes.Text, "Baptist Medical Center")); locationsField.AvailableFields.Add(new Field("LocationAddress", "Location Address", FieldTypes.Html, "123 Main St.<br />City, ST 55555")); locationsField.AvailableFields.Add(new Field("Phone", "Phone", FieldTypes.Text, "123-555-1234")); locationsField.AvailableFields.Add(new Field("Fax", "Fax", FieldTypes.Text, "123-555-1234")); locationsField.AvailableFields.Add(new Field("AcceptingNewPatients", "Accepting New Patients", FieldTypes.Boolean, true)); var locationInsuranceField = new Field("Insurances", "Insurances", FieldTypes.Multivalue, null); locationInsuranceField.Values.Add("Allstate"); locationInsuranceField.Values.Add("Aflac"); locationInsuranceField.Values.Add("State Farm"); locationsField.AvailableFields.Add(locationInsuranceField); var locationServicesField = new Field("Services", "Services", FieldTypes.Multivalue, null); locationServicesField.Values.Add("X-Ray"); locationServicesField.Values.Add("Imaging"); locationsField.AvailableFields.Add(locationServicesField); var locationHoursField = new Field("Hours", "Hours", FieldTypes.Multivalue, null); locationHoursField.Values.Add("Monday 8:00-5:00"); locationHoursField.Values.Add("Tuesday 9:00-5:00"); locationsField.AvailableFields.Add(locationHoursField); var appointmentRequestField = new Field("AppointmentRequestLink", "Appointment Request Link", FieldTypes.Hyperlink, "Appointment Request Link") { URL = "#", ShowLabel = false }; appointmentRequestField.AddSetting(new Setting("AppointmentRequestLinkText", "Link Text", SettingFieldType.Text)); appointmentRequestField.AddSetting(new Setting("AppointmentRequestPageUrl", "Appointment Request URL", SettingFieldType.Text)); locationsField.AvailableFields.Add(appointmentRequestField); var mapField = new Field("Map", "Map", FieldTypes.Map, "mapDiv_1") { ShowLabel = false }; mapField.MapItem = new MapItem() { Title = "Baptist Medical Center", Latitude = "34", Longitude = "-93", LocationAddress = "3000 Galleria Circle, Birmingam, AL 35244", LocationPhoneNum = "555-4444" }; locationsField.AvailableFields.Add(mapField); locationsField.AvailableFields = locationsField.AvailableFields.OrderBy(f => f.DisplayName).ToList(); return locationsField; }
private Field BuildOccurrencesComplexField() { var occurrencesField = new Field("Occurrences", "Occurrences", FieldTypes.Complex, null); occurrencesField.AvailableFields.Add(new Field("LocationName", "Location Name", FieldTypes.Text, "Baptist Health System")); occurrencesField.AvailableFields.Add(new Field("LocationAddress", "Location Address", FieldTypes.Html, "123 Main Street<br />Birmingham, AL 35114")); occurrencesField.AvailableFields.Add(new Field("Presenter", "Presenter", FieldTypes.Text, "John Doe")); occurrencesField.AvailableFields.Add(new Field("ContactName", "Contact Name", FieldTypes.Text, "Jane Doe")); occurrencesField.AvailableFields.Add(new Field("ContactPhone", "Contact Phone", FieldTypes.Text, "(555) 555-1234")); occurrencesField.AvailableFields.Add(new Field("ContactEmail", "Contact Email", FieldTypes.Text, "*****@*****.**")); occurrencesField.AvailableFields.Add(new Field("MaxAttendees", "Maximum Attendees", FieldTypes.Text, "50")); occurrencesField.AvailableFields.Add(new Field("Cost", "Cost", FieldTypes.Text, "$10.00")); occurrencesField.AvailableFields.Add(new Field("AvailableSeats", "Available Seats", FieldTypes.Text, "25")); occurrencesField.AvailableFields.Add(new Field("SpecialInstructions", "Special Instructions", FieldTypes.Html, "These are the special instructions for this occurrence")); occurrencesField.AvailableFields.Add(new Field("RegisterButton", "Button - Register", FieldTypes.Html, "<input type='button' class='btn btn-primary' value='Register'/>")); occurrencesField.AvailableFields.Add(new Field("AddToCartButton", "Button - Add To Cart", FieldTypes.Html, "<input type='button' class='btn btn-primary' value='Add To Cart'/>")); var mapField = new Field("Map", "Map", FieldTypes.Map, "mapDiv_1") { ShowLabel = false }; mapField.MapItem = new MapItem() { Title = "Baptist Medical Center", Latitude = "34", Longitude = "-93", LocationAddress = "3000 Galleria Circle, Birmingam, AL 35244", LocationPhoneNum = "555-4444" }; occurrencesField.AvailableFields.Add(mapField); occurrencesField.AvailableFields.Add(new Field("DateAndTime", "Date And Time", FieldTypes.Text, "Dec. 22, 2016 - 2:00 PM until 7:00 PM<br/>Jan. 2, 2017 - 9:00 AM until 2:00 PM")); return occurrencesField; }
private void PreloadSelectedOption(Field field, string id, string displayName, IDictionary<string, string> parameters) { if (parameters.ContainsKey(id) && parameters.ContainsKey(displayName)) { field.SelectedOption = new DropdownOption() { Id = parameters[id], DisplayName = parameters[displayName] }; } }
private void PopulateFieldData(ProviderSearchResultDto provider, Field field) { //Handle Dynamic Column Data if (field.FieldName.StartsWith(Constants.DynamicColumnPrefix)) { var dynamicColumnFieldName = field.FieldName.Replace(Constants.DynamicColumnPrefix, string.Empty); var dynamicColumn = _dynamicColumnData.FirstOrDefault(c => c.FieldName == dynamicColumnFieldName); if (dynamicColumn != null && _dynamicColumnDefinitions.Any(c => c.Name == dynamicColumnFieldName)) field.Value = dynamicColumn.FieldValue; else field.Value = string.Empty; } //Handle Standard Column Data else { switch (field.FieldName) { case "ProviderNameLink": field.Value = _view.CalculateProviderFullName(provider.NamePrefix, provider.FirstName, provider.MiddleName, provider.LastName, provider.NameSuffix, provider.AdditionalSuffix, field); field.URL = _view.CalculateProviderDetailUrl(provider.DirectUrl, provider.Id, _baseDetailPageUrl); break; case "DateOfBirth": field.Value = provider.DateOfBirth.HasValue ? provider.DateOfBirth.Value.ToString("M/d/yyyy") : string.Empty; break; case "ProviderImage": if (!string.IsNullOrEmpty(provider.ImageUrl)) field.URL = provider.ImageUrl; else field.URL = _view.DefaultProviderImageUrl; field.Value = _view.CalculateProviderFullName(provider.NamePrefix, provider.FirstName, provider.MiddleName, provider.LastName, provider.NameSuffix, provider.AdditionalSuffix, field); break; case "InPracticeSince": field.Value = provider.InPracticeSince.HasValue ? provider.DateOfBirth.Value.ToString("M/d/yyyy") : string.Empty; break; case "Age": field.Value = provider.Age; break; case "Experience": field.Value = provider.Experience; break; case "PrimarySpecialty": field.Value = provider.PrimarySpecialtyName; break; case "PrimaryLocationName": field.Value = provider.PrimaryOrgUnitName; break; case "PrimaryLocationCompleteAddress": field.Value = string.Format("{0}<br />{1}, {2} {3}", !string.IsNullOrEmpty(provider.PrimaryOrgUnitAddress2) ? provider.PrimaryOrgUnitAddress1 + "<br />" + provider.PrimaryOrgUnitAddress2 : provider.PrimaryOrgUnitAddress1, provider.PrimaryOrgUnitCity, provider.PrimaryOrgUnitStateAbbreviated, provider.PrimaryOrgUnitPostalCode); break; case "AcceptingNewPatients": if (provider.IsAcceptingNewPatients) field.Value = field.TrueValue; else field.Value = field.FalseValue; break; case "PrimaryPhone": field.Value = provider.Phone; break; case "PrimaryFax": field.Value = provider.Fax; break; case "PrimaryEmail": field.Value = provider.Email; break; case "Gender": field.Value = provider.Gender; break; case "ProviderLanguages": field.Values = provider.ProviderLanguages.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).Select(l => l).Cast<object>().ToList(); break; case "ClinicalInterests": field.Values = provider.ProviderClinicalInterests.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).Select(c => c).Cast<object>().ToList(); break; case "Specialties": field.Values = provider.SpecialtiesDescription.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).Select(s => s).Cast<object>().ToList(); break; case "Insurances": field.Values = provider.ProviderInsurances.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).Select(i => i).Cast<object>().ToList(); break; case "AboutMe": field.Value = provider.AboutMe; break; case "PhilosophyOfCare": field.Value = provider.PhilosophyOfCare; break; case "AdditionalInfo": field.Value = provider.AdditionalInformation; break; case "Website": field.Value = provider.Website; break; case "Custom1": field.Value = provider.Custom1; break; case "Custom2": field.Value = provider.Custom2; break; case "Custom3": field.Value = provider.Custom3; break; case "Distance": if (provider.MostProximateLocationDistance.HasValue) field.Value = Decimal.Round((Decimal)provider.MostProximateLocationDistance.Value, 2) + " Miles"; else field.Value = null; break; case "ConditionalField": if (string.IsNullOrEmpty(field.ConditionalSettings.ConditionalField) || string.IsNullOrEmpty(field.ConditionalSettings.ConditionalValue) || string.IsNullOrEmpty(field.ConditionalSettings.ConditionOperation)) return; if (_viewSettings.AvailableFields.Count == 0) BuildAvailableFields(); var conditionalField = _viewSettings.AvailableFields.First(f => f.FieldName == field.ConditionalSettings.ConditionalField); PopulateFieldData(provider, conditionalField); Field fieldToShow = null; if (!string.IsNullOrEmpty(field.ConditionalSettings.FieldToShow)) { fieldToShow = field.ConditionalSettings.FieldsWithSettings.First(f => f.FieldName == field.ConditionalSettings.FieldToShow); PopulateFieldData(provider, fieldToShow); } CommonUtils.PopulateConditionalFieldValue(field, conditionalField, fieldToShow); break; case "AppointmentRequestLink": if (provider.PrimaryOrgUnitAllowAppointmentRequests) { field.Value = ProviderUtils.GetAppointmentRequestLinkText(field); field.URL = ProviderUtils.GetAppointmentRequestLinkUrl(field, provider.Id, provider.PrimaryOrgUnitId); } else { field.URL = string.Empty; field.Value = string.Empty; } break; } } }
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 PopulateFieldData(ModuleInstanceView parent, MEDSEEK.eHealth.ecoSystemSP.Common.Services.ServiceDto service, Field field) { switch (field.FieldName) { case "ServiceName": field.Value = service.Name; break; case "ServiceDescription": field.Value = service.Description; break; } }
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; }
private List<Field> PopulateOccurrencesFieldData(ModuleInstanceView parent, EventDetailDto eventDetail, Field templateField, IDictionary<string, string> parameters) { var locationsFields = new List<Field>(); var request = new ListAvailableEventOccurrencesRequest() { EventId = int.Parse(eventDetail.Id) }; var response = parent.ProcessRequest<ListAvailableEventOccurrencesResponse>(request); var seoHelper = new SeoHelper(parent, parameters); foreach (var occurrence in response.EventOccurrences) { var occurrenceField = (Field)templateField.Clone(); if (string.IsNullOrEmpty(_viewSettings.SeoSchema)) _viewSettings.SeoSchema = seoHelper.BuildSeoSchemaField(occurrence); foreach (var column in occurrenceField.FieldColumns) { foreach (var field in column.Fields) { switch (field.FieldName) { case "LocationName": field.Value = occurrence.EffectiveLocationName; break; case "LocationAddress": field.Value = occurrence.EffectiveCompleteAddress; break; case "Presenter": field.Value = occurrence.Presenter; break; case "ContactName": field.Value = occurrence.EffectiveContactName; break; case "ContactPhone": var sb = new StringBuilder(); sb.Append(occurrence.EffectiveContactPhone); if (!string.IsNullOrEmpty(occurrence.EffectiveContactPhoneExtension)) sb.Append(" ext. " + occurrence.EffectiveContactPhoneExtension); field.Value = sb.ToString(); break; case "ContactEmail": field.Value = occurrence.EffectiveContactEmail; break; case "MaxAttendees": field.Value = occurrence.EffectiveMaximumAttendees; break; case "Cost": field.Value = string.Format("{0:C}", occurrence.EffectiveCost); break; case "AvailableSeats": field.Value = occurrence.Availability; break; case "SpecialInstructions": field.Value = occurrence.SpecialInstructions; break; case "Map": field.Value = "mapDiv_" + occurrence.Id; field.MappingProvider = _mappingSettings.MappingProvider.ToString().ToUpperInvariant(); field.MapItem = new MapItem() { Title = occurrence.EventTitle, Latitude = occurrence.Latitude.HasValue ? occurrence.Latitude.ToString() : string.Empty, Longitude = occurrence.Longitude.HasValue ? occurrence.Longitude.ToString() : string.Empty, LocationAddress = occurrence.EffectiveCompleteAddress, LocationPhoneNum = occurrence.EffectiveContactPhone }; break; case "RegisterButton": if (occurrence.IsRegistrationEnabled) field.Value = "<input type='button' class='btn btn-primary' value='Register' data-ng-click='Register(" + occurrence.Id + ")' />"; else field.Value = null; break; case "AddToCartButton": if (occurrence.IsRegistrationEnabled) field.Value = "<input type='button' class='btn btn-primary' value='Add To Cart' data-ng-click='AddToCart(" + occurrence.Id + ")' />"; else field.Value = null; break; case "DateAndTime": var dtBuilder = new StringBuilder(); var formatStr = "{0} - {1} until {2}"; foreach(var d in occurrence.Dates) { if (d.StartDate.HasValue && d.EndDate.HasValue) { if (dtBuilder.Length > 0) dtBuilder.Append("<br/>"); var dateStr = d.StartDate.Value.ToString("MMM. d, yyyy"); var startTime = d.StartDate.Value.ToShortTimeString(); var endTime = d.EndDate.Value.ToShortTimeString(); dtBuilder.AppendFormat(formatStr, dateStr, startTime, endTime); } } field.Value = dtBuilder.ToString(); break; } } } locationsFields.Add(occurrenceField); } return locationsFields; }
private void PopulateFieldData(ModuleInstanceView parent, EventDetailDto eventDetail, Field field) { //Handle Dynamic Column Data if (field.FieldName.StartsWith(Constants.DynamicColumnPrefix)) { var dynamicColumnFieldName = field.FieldName.Replace(Constants.DynamicColumnPrefix, string.Empty); var dynamicColumn = DynamicColumnData.FirstOrDefault(c => c.FieldName == dynamicColumnFieldName); if (dynamicColumn != null && DynamicColumnDefitions.Any(c => c.Name == dynamicColumnFieldName)) field.Value = dynamicColumn.FieldValue; else field.Value = string.Empty; } //Handle Standard Column Data else { switch (field.FieldName) { case "EventTitle": field.Value = eventDetail.Title; break; case "EventDescription": field.Value = eventDetail.SummaryDescription; break; case "SpecialInstructions": field.Value = eventDetail.SpecialInstructions; break; case "Image": if (!string.IsNullOrEmpty(eventDetail.ImagePath)) field.URL = eventDetail.ImagePath; else field.URL = parent.DefaultEventImageUrl; field.Value = eventDetail.Title; break; case "EventTopics": field.Values = eventDetail.EventTopicNames.Select(t => t).Cast<object>().ToList(); break; case "EventTypes": field.Values = eventDetail.EventTypeNames.Select(t => t).Cast<object>().ToList(); break; case "Custom1": field.Value = eventDetail.Custom1; break; case "Custom2": field.Value = eventDetail.Custom2; break; case "Custom3": field.Value = eventDetail.Custom3; break; } } }
private void PopulateFieldData(OrgUnitSearchResultDto location, Field field) { //Handle Dynamic Column Data if (field.FieldName.StartsWith(Constants.DynamicColumnPrefix)) { var dynamicColumnFieldName = field.FieldName.Replace(Constants.DynamicColumnPrefix, string.Empty); var dynamicColumn = _dynamicColumnData.FirstOrDefault(c => c.FieldName == dynamicColumnFieldName); if (dynamicColumn != null && _dynamicColumnDefinitions.Any(c => c.Name == dynamicColumnFieldName)) field.Value = dynamicColumn.FieldValue; else field.Value = string.Empty; } //Handle Standard Column Data else { switch (field.FieldName) { case "Services": field.Values = location.ServicesDescription.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).Select(s => s).Cast<object>().ToList(); break; case "LocationNameLink": field.Value = location.Name; field.URL = _view.CalculateLocationUrl(location.Id, _baseDetailPageUrl); break; case "LocationName": field.Value = location.Name; break; case "LocationDescription": field.Value = location.Description; break; case "LocationCity": field.Value = location.City; break; case "LocationState": field.Value = location.StateName; break; case "LocationPostalCode": field.Value = location.PostalCode; break; case "LocationFax": field.Value = location.Fax; break; case "LocationPhone": field.Value = location.Phone; break; case "LocationAddress": field.Value = location.CompleteAddress; break; case "LocationAddress1": field.Value = location.Address1; break; case "LocationAddress2": field.Value = location.Address2; break; case "LocationImage": if (!string.IsNullOrEmpty(location.ImageUrl)) field.URL = location.ImageUrl; else field.URL = _view.DefaultLocationImageUrl; field.Value = location.Name; break; case "Custom1": field.Value = location.Custom1; break; case "Custom2": field.Value = location.Custom2; break; case "Custom3": field.Value = location.Custom3; break; case "Distance": if (location.OrgUnitDistance.HasValue) field.Value = Decimal.Round((Decimal)location.OrgUnitDistance.Value, 2) + " Miles"; else field.Value = null; break; case "ConditionalField": if (string.IsNullOrEmpty(field.ConditionalSettings.ConditionalField) || string.IsNullOrEmpty(field.ConditionalSettings.ConditionalValue) || string.IsNullOrEmpty(field.ConditionalSettings.ConditionOperation)) return; var conditionalField = _viewSettings.AvailableFields.First(f => f.FieldName == field.ConditionalSettings.ConditionalField); PopulateFieldData(location, conditionalField); Field fieldToShow = null; if (!string.IsNullOrEmpty(field.ConditionalSettings.FieldToShow)) { fieldToShow = _viewSettings.AvailableFields.First(f => f.FieldName == field.ConditionalSettings.FieldToShow); PopulateFieldData(location, fieldToShow); } CommonUtils.PopulateConditionalFieldValue(field, conditionalField, fieldToShow); break; } } }
private void PopulateFieldData(EventSearchResultPortalDto eventResult, Field field) { //Handle Dynamic Column Data if (field.FieldName.StartsWith(Constants.DynamicColumnPrefix)) { var dynamicColumnFieldName = field.FieldName.Replace(Constants.DynamicColumnPrefix, string.Empty); var dynamicColumn = _dynamicColumnData.FirstOrDefault(c => c.FieldName == dynamicColumnFieldName); if (dynamicColumn != null && _dynamicColumnDefinitions.Any(c => c.Name == dynamicColumnFieldName)) field.Value = dynamicColumn.FieldValue; else field.Value = string.Empty; } //Handle Standard Column Data else { switch (field.FieldName) { case "EventTitleLink": field.Value = eventResult.Title; field.URL = _view.CalculateEventUrl(eventResult.DirectUrl, eventResult.Id, _baseDetailPageUrl); break; case "EventDescription": field.Value = eventResult.SummaryDescription; break; case "SpecialInstructions": field.Value = eventResult.SpecialInstructions; break; case "EventImage": if (!string.IsNullOrEmpty(eventResult.ImagePath)) field.URL = eventResult.ImagePath; else field.URL = _view.DefaultEventImageUrl; field.Value = eventResult.Title; break; case "EventTopics": field.Values = eventResult.EventTopics.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).Select(i => i).Cast<object>().ToList(); break; case "EventTypes": field.Values = eventResult.EventTypes.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).Select(i => i).Cast<object>().ToList(); break; case "Custom1": field.Value = eventResult.Custom1; break; case "Custom2": field.Value = eventResult.Custom2; break; case "Custom3": field.Value = eventResult.Custom3; break; case "Cost": if (eventResult.HasMultipleOccurrences) { if (eventResult.EffectiveCostMin != eventResult.EffectiveCostMax) field.Value = string.Format("{0:C}", eventResult.EffectiveCostMin) + " - " + string.Format("{0:C}", eventResult.EffectiveCostMax); else field.Value = string.Format("{0:C}", eventResult.EffectiveCostMin); } else { field.Value = string.Format("{0:C}", eventResult.EffectiveCost); } break; case "MaxAttendees": field.Value = eventResult.MaximumAttendees; break; case "Address": field.Value = eventResult.MostProximateLocationCompleteAddress; break; case "Distance": if (eventResult.MostProximateLocationDistance.HasValue) field.Value = Decimal.Round((Decimal)eventResult.MostProximateLocationDistance.Value, 2) + " Miles"; else field.Value = null; break; case "LocationName": if (eventResult.HasMultipleOccurrences) field.Value = null; else field.Value = eventResult.EffectiveLocationName; break; case "LocationAddress": if (eventResult.HasMultipleOccurrences) field.Value = null; else { if (string.IsNullOrEmpty(eventResult.EffectiveAddress2)) field.Value = string.Format("{0}, {1}, {2} {3}", eventResult.EffectiveAddress1, eventResult.EffectiveCity, eventResult.EffectiveState, eventResult.EffectivePostalCode); else field.Value = string.Format("{0}, {1}, {2}, {3} {4}", eventResult.EffectiveAddress1, eventResult.EffectiveAddress2, eventResult.EffectiveCity, eventResult.EffectiveState, eventResult.EffectivePostalCode); } break; case "SingleOccurrenceDate": if (eventResult.HasMultipleOccurrences) field.Value = null; else field.Value = eventResult.StartDateFormatted; break; case "SingleOccurrenceTime": if (eventResult.HasMultipleOccurrences) field.Value = null; else field.Value = eventResult.StartTimeFormatted; break; case "RegisterButton": if (AllowRegisterButton(eventResult)) field.Value = "<input type='button' class='btn btn-primary' value='Register' data-ng-click='Register(" + eventResult.SingleOccurrenceId + ")' />"; else field.Value = null; break; case "AddToCartButton": if (AllowRegisterButton(eventResult)) field.Value = "<input type='button' class='btn btn-primary' value='Add To Cart' data-ng-click='AddToCart(" + eventResult.SingleOccurrenceId + ")' />"; else field.Value = null; break; case "MultipleOccurrenceMessage": if (!eventResult.HasMultipleOccurrences) field.Value = string.Empty; break; } } }
private void PreloadQueryValuesFromQueryString(Field field, IDictionary<string, string> parameters) { switch (field.FieldName) { case "Keyword": if (parameters.ContainsKey("Keyword")) field.Value = parameters["Keyword"]; break; case "Provider": PreloadSelectedOption(field, "ProviderId", "ProviderText", parameters); break; case "Specialty": PreloadSelectedOption(field,"SpecialtyId", "SpecialtyText",parameters); break; case "Condition": PreloadSelectedOption(field, "ConditionId", "ConditionText", parameters); break; case "Insurance": PreloadSelectedOption(field, "InsuranceId", "InsuranceText", parameters); break; case "Language": PreloadSelectedOption(field, "LanguageId", "LanguageText", parameters); break; case "Location": PreloadSelectedOption(field, "LocationId", "LocationText", parameters); break; case "City": PreloadSelectedOption(field, "CityId", "CityText", parameters); break; case "State": PreloadSelectedOption(field, "StateId", "StateText", parameters); break; case "ClinicalInterest": PreloadSelectedOption(field, "ClinicalInterestId", "ClinicalInterestText", parameters); break; case "ProviderType": PreloadSelectedOption(field, "ProviderTypeId", "ProviderTypeText", parameters); break; case "Gender": if (parameters.ContainsKey("Gender")) field.Value = parameters["Gender"]; break; case "OnlyAcceptingNewPatients": if (parameters.ContainsKey("OnlyAcceptingNewPatients")) field.Value = bool.Parse(parameters["OnlyAcceptingNewPatients"]); break; case "PostalCode": if (parameters.ContainsKey("PostalCode")) field.Value = parameters["PostalCode"]; break; case "RadiusDistance": if (parameters.ContainsKey("RadiusDistance")) field.Value = parameters["RadiusDistance"]; break; } }
private Field BuildEducationsComplexField() { var educationsField = new Field("Educations", "Educations", FieldTypes.Complex, null); educationsField.AvailableFields.Add(new Field("EducationType", "Education Type", FieldTypes.Text, "Medical Specialty Board Certification")); educationsField.AvailableFields.Add(new Field("InstitutionName", "Institution Name", FieldTypes.Text, "Alabama University")); educationsField.AvailableFields.Add(new Field("IsCompleted", "Is Completed", FieldTypes.Boolean, true)); educationsField.AvailableFields.Add(new Field("YearCompleted", "Year Completed", FieldTypes.Text, "2001")); return educationsField; }
private void PopulateFieldData(ModuleInstanceView parent, OrgUnitPublishedDto location, Field field) { //Handle Dynamic Column Data if (field.FieldName.StartsWith(Constants.DynamicColumnPrefix)) { var dynamicColumnFieldName = field.FieldName.Replace(Constants.DynamicColumnPrefix, string.Empty); var dynamicColumn = DynamicColumnData.FirstOrDefault(c => c.FieldName == dynamicColumnFieldName); if (dynamicColumn != null && DynamicColumnDefinitions.Any(c => c.Name == dynamicColumnFieldName)) field.Value = dynamicColumn.FieldValue; else field.Value = string.Empty; } //Handle Standard Column Data else { switch (field.FieldName) { case "LocationName": field.Value = location.Name; break; case "LocationDescription": field.Value = location.Description; break; case "LocationCity": field.Value = location.City; break; case "LocationState": field.Value = location.StateName; break; case "LocationPostalCode": field.Value = location.PostalCode; break; case "LocationFax": field.Value = location.Fax; break; case "LocationPhone": field.Value = location.Phone; break; case "LocationAddress": field.Value = location.CompleteAddress; break; case "LocationAddress1": field.Value = location.Address1; break; case "LocationAddress2": field.Value = location.Address2; break; case "LocationImage": if (!string.IsNullOrEmpty(location.ImageUrl)) field.URL = location.ImageUrl; else field.URL = parent.DefaultLocationImageUrl; field.Value = location.Name; break; case "LocationMap": field.Value = "mapDiv_" + location.Id; field.MappingProvider = _mappingSettings.MappingProvider.ToString().ToUpperInvariant(); field.MapItem = new MapItem() { Title = location.Name, Latitude = location.Latitude.HasValue ? location.Latitude.ToString() : string.Empty, Longitude = location.Longitude.HasValue ? location.Longitude.ToString() : string.Empty, LocationAddress = string.Format("{0}, {1}, {2} {3}", location.Address1, location.City, location.StateName, location.PostalCode), LocationPhoneNum = location.Phone }; break; case "Custom1": field.Value = location.Custom1; break; case "Custom2": field.Value = location.Custom2; break; case "Custom3": field.Value = location.Custom3; break; case "ConditionalField": if (string.IsNullOrEmpty(field.ConditionalSettings.ConditionalField) || string.IsNullOrEmpty(field.ConditionalSettings.ConditionalValue) || string.IsNullOrEmpty(field.ConditionalSettings.ConditionOperation)) return; var conditionalField = _viewSettings.AvailableFields.First(f => f.FieldName == field.ConditionalSettings.ConditionalField); PopulateFieldData(parent, location, conditionalField); Field fieldToShow = null; if (!string.IsNullOrEmpty(field.ConditionalSettings.FieldToShow)) { fieldToShow = _viewSettings.AvailableFields.First(f => f.FieldName == field.ConditionalSettings.FieldToShow); PopulateFieldData(parent, location, fieldToShow); } CommonUtils.PopulateConditionalFieldValue(field, conditionalField, fieldToShow); break; } } }
private List<Field> PopulateFieldData(ModuleInstanceView parent, ReadRegistrationResponse registration, Field templateField) { var occurrencesFields = new List<Field>(); foreach (var occurrence in registration.Registration.EventOccurrences) { var occurrenceField = (Field)templateField.Clone(); foreach (var column in occurrenceField.FieldColumns) { foreach (var field in column.Fields) { switch (field.FieldName) { case "EventTitle": field.Value = occurrence.EventTitle; break; case "EventImage": field.URL = occurrence.EventImagePath; break; case "Description": field.Value = occurrence.EventSummaryDescription; break; case "DateTime": field.Value = occurrence.StartDate.HasValue ? occurrence.StartDate.Value.ToString("M/d/yy h:mm tt") : "Open"; break; case "Registrants": foreach (var attendee in occurrence.Attendees) field.Values.Add(string.Format("{0} {1}", attendee.FirstName, attendee.LastName)); break; } } } occurrencesFields.Add(occurrenceField); } return occurrencesFields; }