Пример #1
0
        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);
        }
Пример #2
0
        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));
            }
        }