コード例 #1
0
 /// <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);
 }
コード例 #2
0
        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;
        }