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); }