private bool ShowRateAndQA(ProviderFilterBindingModel model) { if (model.Filter == null || model.Filter.ServiceTypes == null || model.Filter.ServiceTypes.Count() != 1) { return(false); } if (!string.IsNullOrEmpty(model.Filter.Name)) { return(false); } var serviceId = model.Filter.ServiceTypes.First(); if (!_validator.IsLinguisticServiceType(serviceId)) // get all service types, find one that matches id, return it's RequiresLanguages property ... { return(true); } return(model.Filter.Languages != null && model.Filter.Languages.Count() == 1); }
public async Task <IHttpActionResult> Get([FromUri] ProviderFilterBindingModel search) { var userId = User.Identity.GetUserId <int>(); var query = _extendedSnapshotProvider.Get(); try { var showRateAndQA = (search != null && ShowRateAndQA(search)); var result = await _queryFilterService.GetFilteredOrderedPageAsync <ProvidersViewModel>( query, search.Filter, search.Sorting, search.Page, search.Count, ProvidersViewModel.FromExtendedProviderSnapshot(showRateAndQA)); return(Ok <object>(new { showRateAndQA = showRateAndQA, result = result })); } catch (Exception ex) { return(InternalServerError(ex)); } }