Example #1
0
        private void RefreshFeedComplete(FeedResponseModel response)
        {
            try
            {
                if (response.ResponseCode <= 0)
                {
                    UIAlertView alert = new UIAlertView()
                    {
                        Title   = "Oops!",
                        Message = "Sorry about that - it looks like we're unable to load your content right now. Please try again in a minute."
                    };
                    alert.AddButton("OK");
                    alert.Show();
                    tvFeedItems.HideLoader();
                    //show alert
                    return;
                }
                tvFeedItems.ReloadData();

                tvFeedItems.HideLoader();
            }
            catch (Exception)
            {
            }
        }
        private async Task GetNewFeeds(string kidIds, string date = "today", string type = "all")
        {
            //news Feeds
            FeedResponseModel responseModel = await DashBoardService.GetFeeds(kidIds, date, type, Enums.Views.DashBoard);

            NewsFeedBoxCollectionData = responseModel.data;
        }
Example #3
0
        private void RefreshFeedByUrlComplete(FeedResponseModel response)
        {
            try
            {
                ImageService.Instance.InvalidateMemoryCache();

                if (response.ResponseCode > 0)
                {
                    TableView.ReloadData();
                }
            }
            finally
            {
                TableView.HideLoader();
                _isFeedRefreshedFromNotification = true;
                _isFeedRefreshing = false;

                if (TableView.NumberOfRowsInSection(0) > 0)
                {
                    TableView.ScrollToRow(NSIndexPath.FromRowSection(0, 0), UITableViewScrollPosition.Top, false);
                }
                TableView.ScrollRectToVisible(new CGRect(0, -10, 1, 1), false);

                OpenFeedItemAsModal();
            }
        }
Example #4
0
        private void GetFeedComplete(FeedResponseModel feedResponse)
        {
            ImageService.Instance.InvalidateMemoryCache();

            if (feedResponse.ResponseCode > 0)
            {
                tvFeedItems.ReloadData();

                if (tvFeedItems.NumberOfRowsInSection(0) > 0)
                {
                    tvFeedItems.ScrollToRow(Foundation.NSIndexPath.FromRowSection(0, 0), UITableViewScrollPosition.Top, true);
                }
            }
            tvFeedItems.HideLoader();
        }
Example #5
0
        private void ChangeFeedComplete(FeedResponseModel response)
        {
            try
            {
                ImageService.Instance.InvalidateMemoryCache();

                if (response.ResponseCode > 0)
                {
                    TableView.ReloadData();
                }
                TableView.HideLoader();
            }
            catch (Exception)
            {
                TableView.HideLoader();
            }
        }
Example #6
0
        private void ChangeFeedComplete(FeedResponseModel response)
        {
            try
            {
                ImageService.Instance.InvalidateMemoryCache();

                if (response.ResponseCode > 0)
                {
                    tvFeedItems.ReloadData();
                }
                tvFeedItems.HideLoader();
            }
            catch
            {
                tvFeedItems.HideLoader();
            }
        }
Example #7
0
        private void RefreshFeedComplete(FeedResponseModel response)
        {
            if (response.ResponseCode <= 0)
            {
                Platform.ShowAlert("Oops!", "Sorry about that - it looks like we're unable to load your content right now. Please try again in a minute.");
                //UIAlertView alert = new UIAlertView()
                //{
                //    Title = "Refresh error",
                //    Message = "Feed refresh error"
                //};
                //alert.AddButton("OK");
                //alert.Show();
                TableView.HideLoader();
                //show alert
                return;
            }
            TableView.ReloadData();

            TableView.HideLoader();
            _isFeedRefreshing = false;
        }
        public static void ParseEmoji(FeedResponseModel feedResponse, string content, HttpResponseMessage response)
        {
            return;

            /*
             * if (feedResponse?.FeedPage?.FeedItemList == null || feedResponse.FeedPage.FeedItemList.Count == 0)
             * {
             *  return;
             * }
             *
             *
             *
             * string emojiToParse = "Sunny D\\u2600\\ufe0fSunny D";
             * string nameToParse = string.Empty;
             * string parsedName = string.Empty;
             * List<char> emojiCharacters = emojiToParse.ToCharArray().ToList();
             * List<char> parsedEmojiCharacters = new List<char>();
             * List<char> suggestedEmoji = new List<char>();
             * char[] emojiChars = new char[] { '0', '0' };
             *
             * bool emojiParsed = false;
             * int currentChar = 0;
             * int startFrameToAdd = 0;
             * int endFrameToAdd = 0;
             * int emojiCharactersCount = emojiCharacters.Count;
             *
             * foreach (FeedItemModel feedItemModel in feedResponse.FeedPage.FeedItemList)
             * {
             *  if (feedItemModel.Header?.Actor != null)
             *  {
             *      nameToParse = feedItemModel.Header.Actor;
             *      parsedName = string.Empty;
             *
             *      emojiCharacters = nameToParse.ToCharArray().ToList();
             *      parsedEmojiCharacters.Clear();
             *      suggestedEmoji.Clear();
             *
             *      currentChar = 0;
             *      startFrameToAdd = 0;
             *      endFrameToAdd = 0;
             *      emojiCharactersCount = emojiCharacters.Count;
             *
             *      try
             *      {
             *          foreach (char item in emojiCharacters)
             *          {
             *              //check if emoji frame begins or if string ends
             *              if (endFrameToAdd == emojiCharactersCount - 1)
             *              {
             *                  parsedEmojiCharacters.AddRange(emojiCharacters.Skip(startFrameToAdd).Take(emojiCharactersCount - startFrameToAdd));
             *                  break;
             *              }
             *
             *              if (currentChar < startFrameToAdd)
             *              {
             ++currentChar;
             *                  continue;
             *              }
             *
             *              if (item != '\\')
             *              {
             ++currentChar;
             ++endFrameToAdd;
             *                  continue;
             *              }
             *
             *              //check for emoji
             *              suggestedEmoji = emojiCharacters.Skip(endFrameToAdd).Take(_utf16Emoji16HexStringLength).ToList();
             *              if (suggestedEmoji.Count < _utf16Emoji16HexStringLength)
             *              {
             *                  parsedEmojiCharacters.AddRange(emojiCharacters.Skip(startFrameToAdd).Take(emojiCharactersCount - startFrameToAdd));
             *                  break;
             *              }
             *
             *              emojiParsed = Is16BitEmoji(suggestedEmoji, out emojiChars);
             *              if (emojiParsed)
             *              {
             *                  //insert parsed emoji
             *                  parsedEmojiCharacters.AddRange(emojiCharacters.Skip(startFrameToAdd).Take(endFrameToAdd - startFrameToAdd));
             *                  //parsedEmojiCharacters.AddRange(emojiChars);
             *
             *                  endFrameToAdd = startFrameToAdd = endFrameToAdd + _utf16Emoji16HexStringLength;
             ++currentChar;
             *
             *                  continue;
             *              }
             *
             *              suggestedEmoji = emojiCharacters.Skip(endFrameToAdd).Take(_utf16Emoji32HexStringLength).ToList();
             *              if (suggestedEmoji.Count < _utf16Emoji32HexStringLength)
             *              {
             *                  parsedEmojiCharacters.AddRange(emojiCharacters.Skip(startFrameToAdd).Take(emojiCharactersCount - startFrameToAdd));
             *                  break;
             *              }
             *
             *              emojiParsed = Is32BitEmoji(suggestedEmoji, out emojiChars);
             *              if (emojiParsed)
             *              {
             *                  //insert parsed emoji
             *                  parsedEmojiCharacters.AddRange(emojiCharacters.Skip(startFrameToAdd).Take(endFrameToAdd - startFrameToAdd));
             *                  parsedEmojiCharacters.AddRange(emojiChars);
             *
             *                  endFrameToAdd = startFrameToAdd = endFrameToAdd + _utf16Emoji32HexStringLength;
             ++currentChar;
             *
             *                  continue;
             *              }
             *
             ++currentChar;
             ++endFrameToAdd;
             *
             *          }
             *      }
             *      catch (Exception ex)
             *      {
             *          //not change initial string
             *          continue;
             *      }
             *
             *      parsedName = new string(parsedEmojiCharacters.ToArray());
             *
             *      feedItemModel.Header.Actor = parsedName == string.Empty ? nameToParse : parsedName;
             *  }
             * }*/
        }
        public IActionResult GetFeedPage([FromRoute] int?pageRef, int?pageSize = null, int?fundingPeriodStartYear = null,
                                         int?fundingPeriodEndYear = null, string[] fundingPeriodCodes             = null,
                                         OrganisationIdentifier[] organisationGroupIdentifiers = null, OrganisationType[] organisationGroupTypes = null,
                                         OrganisationIdentifier[] organisationIdentifiers      = null, OrganisationType[] organisationTypes      = null,
                                         VariationReason[] variationReasons = null, string[] ukprns              = null, GroupingReason[] groupingReasons = null,
                                         FundingStatus[] statuses           = null, DateTime?minStatusChangeDate = null, string[] fundingStreamCodes      = null,
                                         FundingLineType[] fundingLineTypes = null, string[] templateLineIds     = null)
        {
            var schemeAndHost = "http://mock.web";

            var fullList  = new List <FeedResponseContentModel>();
            var pageSizeT = pageSize ?? 10;

            if (fundingStreamCodes?.Any() != true || fundingStreamCodes.Contains("DSG"))
            {
                fullList.AddRange(GenerateDSGFunding.GenerateFeed(fundingPeriodStartYear, fundingPeriodEndYear, fundingPeriodCodes, organisationGroupIdentifiers,
                                                                  organisationGroupTypes, organisationIdentifiers, organisationTypes, variationReasons, ukprns, groupingReasons, statuses,
                                                                  minStatusChangeDate, fundingLineTypes, templateLineIds)
                                  );
            }

            if (fundingStreamCodes?.Any() != true || fundingStreamCodes.Contains("PESports"))
            {
                fullList.AddRange(GeneratePESportsFunding.GenerateFeed(fundingPeriodStartYear, fundingPeriodEndYear, fundingPeriodCodes,
                                                                       organisationGroupIdentifiers, organisationGroupTypes, organisationIdentifiers, organisationTypes, variationReasons, ukprns,
                                                                       groupingReasons, statuses, minStatusChangeDate, fundingLineTypes, templateLineIds));
            }

            fullList.Reverse();

            var limitedList = fullList.Skip(((pageRef ?? 1) - 1) * pageSizeT).Take(pageSizeT).ToArray();

            limitedList.Reverse(); // Reverse back

            var lastPageNumber    = 1;
            var firstPageNumber   = (int)Math.Ceiling(fullList.Count / (double)pageSizeT);
            var currentPageNumber = pageRef ?? firstPageNumber;
            var isFirstPage       = firstPageNumber == currentPageNumber;
            var isLastPage        = currentPageNumber == lastPageNumber;

            var qs = Request.QueryString.ToString();

            var returnItem = new FeedResponseModel
            {
                Id     = Guid.NewGuid().ToString(),
                Title  = "MYESF / CFS shared funding model mock API",
                Author = new FeedResponseAuthor
                {
                    Email = "*****@*****.**",
                    Name  = "Calculate Funding Service"
                },
                Updated = DateTime.Now,
                Rights  = "Copyright (C) 2019 Department for Education",
                Link    = new List <FeedLink>
                {
                    new FeedLink
                    {
                        Href = isFirstPage ? $"{schemeAndHost}/api/funding/feed" :
                               $"{schemeAndHost}/api/funding/feed/{currentPageNumber}{qs}",
                        Rel = "self"
                    },
                    new FeedLink
                    {
                        Href = $"{schemeAndHost}/api/funding/feed/{firstPageNumber}{qs}",
                        Rel  = "first"
                    },
                    new FeedLink
                    {
                        Href = $"{schemeAndHost}/api/funding/feed/{lastPageNumber}{qs}",
                        Rel  = "last"
                    }
                },
                AtomEntry = limitedList.ToArray()
            };

            if (!isFirstPage)
            {
                returnItem.Link.Add(new FeedLink
                {
                    Href = $"{schemeAndHost}/api/funding/feed/{currentPageNumber + 1}{qs}",
                    Rel  = "next"
                });
            }

            if (!isLastPage)
            {
                returnItem.Link.Add(new FeedLink
                {
                    Href = $"{schemeAndHost}/api/funding/feed/{currentPageNumber - 1}{qs}",
                    Rel  = "previous"
                });
            }

            return(Ok(returnItem));
        }
Example #10
0
 private void OnRefreshFeedComplete(object sender, FeedResponseModel response)
 {
     RefreshFeedComplete(response);
 }