/// <summary> /// Determines whether the specified <see cref="ListSearchFiltersRequest" /> is equal to this instance. /// </summary> /// <param name="other">The other.</param> /// <returns></returns> public bool Equals(ListSearchFiltersRequest other) { return base.Equals(other) && string.Equals(BaseSearchUrl, other.BaseSearchUrl); }
private ListSearchFiltersRequest BuildRequest(ModuleInstanceView parent, ListRefinerView settingsData, IDictionary<string, string> parameters) { var searchRequest = new ListSearchFiltersRequest(); // Location Context searchRequest.OrgUnitId = LocationContextHelper.ResolveLocationContext(parent, settingsData, parameters).Id; searchRequest.DescendantOption = LocationContextHelper.ResolveLocationDescendantOption(settingsData, parameters); //Provider if (parameters.ContainsKey("ProviderId")) searchRequest.ProviderId = int.Parse(parameters["ProviderId"]); if (parameters.ContainsKey("ProviderText")) searchRequest.ProviderName = parameters["ProviderText"]; //Keyword if (parameters.ContainsKey("Keyword")) searchRequest.Keyword = parameters["Keyword"]; //Gender if (parameters.ContainsKey("Gender")) searchRequest.GenderId = int.Parse(parameters["Gender"]); //Specialty if (parameters.ContainsKey("SpecialtyId")) searchRequest.SpecialtyIds = new List<string> { parameters["SpecialtyId"] }; if (parameters.ContainsKey("SpecialtyText")) searchRequest.SpecialtyName = parameters["SpecialtyText"]; //Condition if (parameters.ContainsKey("ConditionId")) searchRequest.ConditionIds = new List<string> { parameters["ConditionId"] }; if (parameters.ContainsKey("ConditionText")) searchRequest.ConditionName = parameters["ConditionText"]; //Insurance if (parameters.ContainsKey("InsuranceId")) searchRequest.InsuranceId = int.Parse(parameters["InsuranceId"]); if (parameters.ContainsKey("InsuranceText")) searchRequest.InsuranceName = parameters["InsuranceText"]; //Language if (parameters.ContainsKey("LanguageId")) searchRequest.LanguageIds = new List<string> { parameters["LanguageId"] }; if (parameters.ContainsKey("LanguageText")) searchRequest.LanguageName = parameters["LanguageText"]; //Location if (parameters.ContainsKey("LocationId")) searchRequest.FilteringOrgUnitIds = new List<string> { parameters["LocationId"] }; if (parameters.ContainsKey("LocationText")) searchRequest.OrgUnitName = parameters["LocationText"]; //City if (parameters.ContainsKey("CityId")) searchRequest.City = parameters["CityId"]; //State if (parameters.ContainsKey("StateId")) searchRequest.State = parameters["StateId"]; //Postal Code if (parameters.ContainsKey("PostalCode")) searchRequest.PostalCode = parameters["PostalCode"]; //Accpeting New Patients if (parameters.ContainsKey("OnlyAcceptingNewPatients")) searchRequest.IsAcceptingNewPatients = bool.Parse(parameters["OnlyAcceptingNewPatients"]) ? true : new bool?(); //Clincical Interest if (parameters.ContainsKey("ClinicalInterestId")) searchRequest.ClinicalInterestIds = new List<string> { parameters["ClinicalInterestId"] }; if (parameters.ContainsKey("ClinicalInterestText")) searchRequest.ClinicalInterestName = parameters["ClinicalInterestText"]; //Provider Type if (parameters.ContainsKey("ProviderTypeId")) searchRequest.ProviderTypeIds = new List<string> { parameters["ProviderTypeId"] }; if (parameters.ContainsKey("ProviderTypeText")) searchRequest.ProviderTypeName = parameters["ProviderTypeText"]; //Letter Alpha Search if (parameters.ContainsKey("Letter")) searchRequest.Letter = parameters["Letter"]; //Dynamic Column Filtering if (parameters.Any(p => p.Key.StartsWith(Constants.DynamicColumnPrefix))) { var dynamicFilters = new List<string>(); foreach (var item in parameters.Where(p => p.Key.StartsWith(Constants.DynamicColumnPrefix))) { dynamicFilters.Add(item.Value); } searchRequest.DynamicColumns = dynamicFilters; } return searchRequest; }