public IActionResult Index(ServicesFilter filter = null) { var serv = _servicesRepository.getQueryable(); if (!string.IsNullOrWhiteSpace(filter.title)) { serv = serv.Where(a => a.name.Contains(filter.title)); } ViewBag.pagerInfo = _paginatedMetaService.GetMetaData(serv.Count(), filter.page, filter.number_of_rows); serv = serv.Skip(filter.number_of_rows * (filter.page - 1)).Take(filter.number_of_rows); var serviceDetail = serv.ToList(); var serviceIndexVM = getViewModelFrom(serviceDetail); return(View(serviceIndexVM)); }
public async Task<IList<Service>> GetSupportedServicesList(ServicesFilter filter, String userAgent, Action onLoadingStarts, Action onLoadingEnds) { onLoadingStarts(); string servicesUri = LongUrlConstants.API_ENDPOINT + "/services"; switch (filter.Format) { case ResponseFormat.XML: servicesUri = servicesUri + "?format=xml"; break; case ResponseFormat.JSON: servicesUri = servicesUri + "?format=json"; break; case ResponseFormat.PHP: servicesUri = servicesUri + "?format=php"; break; default: servicesUri = servicesUri + "?format=json"; break; } string responseBody = await GetResponse(servicesUri, userAgent); using (StreamReader reader = new StreamReader(new MemoryStream(Encoding.UTF8.GetBytes(responseBody)))) { String jsonString = reader.ReadToEnd(); JObject parsedString = JObject.Parse(jsonString); ObservableCollection<Service> services = new ObservableCollection<Service>(); foreach (JToken service in parsedString.AsJEnumerable()) { Service mappedService = Service.mapItemToService(service.First.Value<JObject>()); services.Add(mappedService); } onLoadingEnds(); return services; } }