Beispiel #1
0
        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;
            }
        }
Beispiel #2
0
        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"));
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        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);
        }
Beispiel #6
0
        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();
         }
     }
 }