示例#1
0
        private async Task DownloadAndShowAdvertisements()
        {
            progress.ShowProgressDialog("Pobieranie og³oszeñ. Proszê czekaæ...");
            var coordinates = gpsLocationService.GetCoordinatesModel();
            List <AdvertisementItemShort> advertisements = await this.advertisementItemService.GetUserAdvertisements(userAdvertsPageNumber, this.advertisement.SellerId, coordinates.Latitude, coordinates.Longitude);

            if (advertisements.Count > 0)
            {
                if (advertisementItemListAdapter == null)
                {
                    advertisementItemListAdapter = new AdvertisementItemListAdapter(this, advertisements, AdvertisementsKind.AdvertisementsAroundUserCurrentLocation, this);
                    advertisementItemListAdapter.AdvertisementItemClick += AdvertisementItemListAdapter_AdvertisementItemClick;
                    advertisementsRecyclerView.SetAdapter(advertisementItemListAdapter);
                }
                else
                {
                    advertisementItemListAdapter.AddAdvertisements(advertisements);
                }
            }
            else
            {
                if (advertisementItemListAdapter == null)
                {
                    advertisementItemListAdapter = new AdvertisementItemListAdapter(this, new List <AdvertisementItemShort>(), AdvertisementsKind.AdvertisementsAroundUserCurrentLocation, this);
                }
                advertisementItemListAdapter.InfiniteScrollDisabled = true;
                userAdvertsPageNumber = 0;
            }
            progress.CloseProgressDialog();
        }
        private async Task <CoordinatesForAdvertisementsModel> CheckNewAdvertisementsAroundUserCurrentLocation()
        {
            SetSearchModel(appsettings);
            try
            {
                searchModelForNotifications.CoordinatesModels = gpsLocationService.GetCoordinatesModel();
            }
            catch
            {
                return(new CoordinatesForAdvertisementsModel());
                //nic nie robiê
            }

            var areThereNewAdvertisements = await this.advertisementItemService.CheckForNewAdvertisementsAroundCurrentLocationSinceLastCheck(searchModelForNotifications);

            if (areThereNewAdvertisements)
            {
                NotifyUserAboutNewAdvertisements(AdvertisementsKind.AdvertisementsAroundUserCurrentLocation);
            }

            return(searchModelForNotifications.CoordinatesModels);
        }
示例#3
0
        private async Task <CoordinatesForAdvertisementsModel> CheckNewAdvertisementsAroundUserCurrentLocation()
        {
            var appsettings = (AppSettingsModel)this.sharedPreferencesHelper.GetSharedPreference <AppSettingsModel>(SharedPreferencesKeys.APP_SETTINGS);

            SetSearchModel(appsettings);
            try
            {
                searchModelForNotifications.CoordinatesModels = gpsLocationService.GetCoordinatesModel();
            }
            catch (Exception)
            {
                return(new CoordinatesForAdvertisementsModel());
                //nic nie robiê
            }

            var areThereNewAdvertisements = await this.advertisementItemService.CheckForNewAdvertisementsAroundCurrentLocationSinceLastCheck(searchModelForNotifications);

            if (areThereNewAdvertisements)
            {
                NotifyUserAboutNewAdvertisements(AdvertisementsKind.AdvertisementsAroundUserCurrentLocation);
            }

            return(searchModelForNotifications.CoordinatesModels);
        }