private void RaiseOnInfiniteScrollWhenItemIsLastInList(AdvertisementItemShort currentItem, AdvertisementItemViewHolder viewHolder)
 {
     if (this.AdvertisementItems.IndexOf(currentItem) == (this.AdvertisementItems.Count - 1) && !InfiniteScrollDisabled)
     {
         this.infiniteScrollListener.OnInfiniteScroll();
     }
 }
        private async Task <IEnumerable <AdvertisementItemShort> > MapDbModelsToShortViewModels(IEnumerable <AdvertisementItem> advertisementsFromDb, CoordinatesForAdvertisementsModel coordinatesModel = null)
        {
            var viewModelsList = new List <AdvertisementItemShort>();

            foreach (var dbModel in advertisementsFromDb)
            {
                var viewModel = new AdvertisementItemShort();
                viewModel.Id   = dbModel.Id;
                viewModel.Size = dbModel.Size;
                viewModel.AdvertisementTitle = dbModel.Title;
                viewModel.AdvertisementPrice = dbModel.Price;
                viewModel.MainPhoto          = await this.photosService.GetAdvertisementMinPhotoInBytes(dbModel.AdvertisementPhotos.FirstOrDefault(p => p.IsMainPhoto).PhotoName);

                if (coordinatesModel != null)
                {
                    viewModel.Distance = this.coordinatesCalculator.GetDistanceBetweenTwoLocalizations(coordinatesModel.Latitude, coordinatesModel.Longitude, dbModel.Latitude, dbModel.Longitude);
                }
                else
                {
                    viewModel.Distance = 0.0D;
                }
                viewModel.IsSellerOnline = this.chatHubCacheService.IsUserConnected(dbModel.UserId);
                viewModel.IsOnlyForSell  = dbModel.IsOnlyForSell;
                viewModel.IsExpired      = dbModel.ExpirationDate < DateTime.Now;
                viewModelsList.Add(viewModel);
            }

            return(viewModelsList);
        }