async Task ExecuteLoadFeedsCommand() { if (IsBusy) { return; } IsBusy = true; try { Items.Clear(); var countries = await FeedsService.GetCountriesAsync(); Items.ReplaceRange(countries); } catch (Exception ex) { Debug.WriteLine(ex); MessagingCenter.Send(new MessagingCenterAlert { Title = "Error", Message = "Unable to load countries.", Cancel = "OK" }, "message"); } finally { IsBusy = false; } }
public async Task Should_include_parameter_on_url_if_queriyng_for_properties_with_tuin() { var objects = Builder <ListedObject> .CreateListOfSize(10).Build().ToArray(); var queryResponse = new QueryResponse { Objects = objects, Paging = new Paging { AantalPaginas = 1, HuidigePagina = 1 } }; var restClient = new Mock <IRestClient>(); var threadService = new Mock <IThreadService>(); restClient.Setup(c => c.GetAsync <QueryResponse>(RequestUriBuilder.Default.WithTuin().Build())) .Returns(Task.FromResult(RestResponse <QueryResponse> .Ok(queryResponse))); var service = new FeedsService(restClient.Object, threadService.Object); var result = await service.GetAllFeeds(true); var feeds = result.Value; feeds.Should().HaveCount(10); restClient.Verify(c => c.GetAsync <QueryResponse>(@"http://partnerapi.funda.nl/feeds/Aanbod.svc/json/ac1b0b1572524640a0ecc54de453ea9f/?type=koop&zo=/amsterdam/tuin/&page=1&pagesize=25")); }
public async Task Should_return_list_of_feeds_when_have_paging(int totalItems, int pageSize) { var totalPages = (int)Math.Ceiling((decimal)totalItems / pageSize); var restClient = new Mock <IRestClient>(); var threadService = new Mock <IThreadService>(); for (int i = 1; i <= totalPages; i++) { var quantityOfItemsToCreate = i * pageSize > totalItems ? (pageSize - (i * pageSize - totalItems)) : pageSize; var objects = Builder <ListedObject> .CreateListOfSize(quantityOfItemsToCreate).Build().ToArray(); var queryResponse = new QueryResponse { Objects = objects, Paging = new Paging { AantalPaginas = totalPages, HuidigePagina = i } }; var requestUri = RequestUriBuilder.Default.AtPage(i).Build(); restClient.Setup(c => c.GetAsync <QueryResponse>(requestUri)) .Returns(Task.FromResult(RestResponse <QueryResponse> .Ok(queryResponse))); } var service = new FeedsService(restClient.Object, threadService.Object); var result = await service.GetAllFeeds(); var feeds = result.Value; feeds.Should().HaveCount(totalItems); }
public async Task Should_return_list_of_feeds() { var objects = Builder <ListedObject> .CreateListOfSize(10).Build().ToArray(); var queryResponse = new QueryResponse { Objects = objects, Paging = new Paging { AantalPaginas = 1, HuidigePagina = 1 } }; var restClient = new Mock <IRestClient>(); var threadService = new Mock <IThreadService>(); restClient.Setup(c => c.GetAsync <QueryResponse>(RequestUriBuilder.Default.Build())) .Returns(Task.FromResult(RestResponse <QueryResponse> .Ok(queryResponse))); var service = new FeedsService(restClient.Object, threadService.Object); var result = await service.GetAllFeeds(); var feeds = result.Value; feeds.Should().HaveCount(10); }
public async Task Should_wait_when_request_limit_exceeded() { var objects = Builder <ListedObject> .CreateListOfSize(10).Build().ToArray(); var queryResponse = new QueryResponse { Objects = objects, Paging = new Paging { AantalPaginas = 1, HuidigePagina = 1 } }; var restClient = new Mock <IRestClient>(); var threadService = new Mock <IThreadService>(); restClient.SetupSequence(c => c.GetAsync <QueryResponse>(RequestUriBuilder.Default.Build())) .Returns(Task.FromResult(RestResponse <QueryResponse> .Unauthorized("Request limit exceeded"))) .Returns(Task.FromResult(RestResponse <QueryResponse> .Ok(queryResponse))); var service = new FeedsService(restClient.Object, threadService.Object); var result = await service.GetAllFeeds(); threadService.Verify(t => t.Sleep(60000)); var feeds = result.Value; feeds.Should().HaveCount(10); }
public async Task Should_return_fail_if_http_request_fails() { var objects = Builder <ListedObject> .CreateListOfSize(10).Build().ToArray(); var queryResponse = new QueryResponse { Objects = objects, Paging = new Paging { AantalPaginas = 1, HuidigePagina = 1 } }; var restClient = new Mock <IRestClient>(); var threadService = new Mock <IThreadService>(); restClient.Setup(c => c.GetAsync <QueryResponse>(RequestUriBuilder.Default.Build())) .Returns(Task.FromResult(RestResponse <QueryResponse> .InternalServerError())); var service = new FeedsService(restClient.Object, threadService.Object); var result = await service.GetAllFeeds(); result.IsFailure.Should().BeTrue(); }
// // GET: /Feeds/Delete/5 public ActionResult Delete(Channel channel) { FormsIdentity ident = User.Identity as FormsIdentity; FormsAuthenticationTicket ticket = ident.Ticket; string AuthKey = ticket.UserData; FeedsService fs = new FeedsService(); fs.UnfollowFeed(AuthKey, channel); return RedirectToAction("List"); }
public IndexModel( ILogger <IndexModel> logger, FeedsService feedsService, CityHallDataService cityHallDataService ) { _logger = logger; FeedsService = feedsService; CityHallDataService = cityHallDataService; }
public ActionResult Feed(Channel channel) { FormsIdentity ident = User.Identity as FormsIdentity; FormsAuthenticationTicket ticket = ident.Ticket; string AuthKey = ticket.UserData; FeedsService fs = new FeedsService(); WebResultOfArrayOfItemMeg_PnYqa items = fs.GetFeedItems(AuthKey, channel); if (items.ErrorCode == FeedServ.WebResultErrorCodeList.SUCCESS) { Item[] chanitems = items.Value; ViewBag.Items = chanitems; } return View(); }
public ActionResult Create(CreateFeedModel model) { if (ModelState.IsValid) { FormsIdentity ident = User.Identity as FormsIdentity; FormsAuthenticationTicket ticket = ident.Ticket; string AuthKey = ticket.UserData; try { FeedsService fs = new FeedsService(); WebResultOfChannelMeg_PnYqa addnew = fs.AddNewFeed(AuthKey, model.Uri); if (addnew.ErrorCode == FeedServ.WebResultErrorCodeList.SUCCESS) { return RedirectToAction("List"); } } catch (Exception e) { ViewBag.ErrorFeed = "Could not add the feed"; } } return View(model); }
public ActionResult List() { FormsIdentity ident = User.Identity as FormsIdentity; FormsAuthenticationTicket ticket = ident.Ticket; string AuthKey = ticket.UserData; FeedsService fs = new FeedsService(); WebResultOfArrayOfChannelMeg_PnYqa feeds = fs.GetFeeds(AuthKey); if (feeds.ErrorCode == FeedServ.WebResultErrorCodeList.SUCCESS) { ViewBag.Feeds = feeds.Value; } return View(); }
public ActionResult Item(Item item) { FormsIdentity ident = User.Identity as FormsIdentity; FormsAuthenticationTicket ticket = ident.Ticket; string AuthKey = ticket.UserData; FeedsService fs = new FeedsService(); fs.ReadItem(AuthKey, item); ViewBag.ItemDatas = item; return View(); }
public ActionResult Public() { FeedsService fs = new FeedsService(); WebResultOfArrayOfChannelMeg_PnYqa feeds = fs.GetAllFeeds(); if (feeds.ErrorCode == FeedServ.WebResultErrorCodeList.SUCCESS) { ViewBag.Feeds = feeds.Value; } return View(); }
/// <summary> /// Callback from model that feed is ready /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void ServiceClient_Jobs2WebFeedCompleted(object sender, FeedsService.GetJobs2WebFeedCompletedEventArgs e) { if (e.Result != null) { FeedResults = e.Result; if (FeedResultAvailable != null) { FeedResultAvailable(); } } }