private async Task <AdvertisementItemDetails> MapToDetailsViewModel(AdvertisementItem advertisementFromDb)
        {
            var viewModel = new AdvertisementItemDetails();

            viewModel.Id                = advertisementFromDb.Id;
            viewModel.CityName          = advertisementFromDb.CityName != "brak" ? advertisementFromDb.CityName : String.Empty;
            viewModel.Title             = advertisementFromDb.Title;
            viewModel.Description       = advertisementFromDb.Description;
            viewModel.Size              = advertisementFromDb.Size;
            viewModel.CategoryInfoModel = new Models.Shared.Categories.CategoryInfoModel {
                Id = advertisementFromDb.CategoryId, Name = advertisementFromDb.Category.Name
            };
            viewModel.Price          = advertisementFromDb.Price;
            viewModel.IsOnlyForSell  = advertisementFromDb.IsOnlyForSell;
            viewModel.SellerId       = advertisementFromDb.UserId;
            viewModel.SellerName     = advertisementFromDb.User.UserName;
            viewModel.IsActive       = advertisementFromDb.ExpirationDate > DateTime.Now;
            viewModel.ExpirationDate = advertisementFromDb.ExpirationDate.Value;
            viewModel.Photos         = await GetPhotosList(advertisementFromDb.AdvertisementPhotos.Where(p => !p.IsMainPhoto).ToList());

            viewModel.IsSellerOnline = this.chatHubCacheService.IsUserConnected(advertisementFromDb.UserId);
            if (!String.IsNullOrEmpty(advertisementFromDb.User.UserProfilePhotoName))
            {
                viewModel.SellerProfileImage = await photosService.GetUserProfilePhotoInBytes(advertisementFromDb.User.UserProfilePhotoName);
            }
            return(viewModel);
        }
Пример #2
0
        private async Task GetAndShowAdvertisementDetails()
        {
            progress.ShowProgressDialog("Pobieranie szczegó³ów og³oszenia...");
            this.advertisementDetailsWrapperLayout.Visibility = ViewStates.Invisible;
            var advertisementItemId = Intent.GetIntExtra(ExtrasKeys.ADVERTISEMENT_ITEM_ID, 0);

            advertisement = await GetAdvertisement(advertisementItemId);

            this.advertisementDetailsWrapperLayout.Visibility = ViewStates.Visible;
            ShowAdvertisementDetails(advertisement, Intent.GetDoubleExtra(ExtrasKeys.ADVERTISEMENT_ITEM_DISTANCE, 0.0));
            progress.CloseProgressDialog();
        }
Пример #3
0
        private AdvertisementEditModel GetAdvertisementEditModel(AdvertisementItemDetails advertisement, List <string> imagesPaths)
        {
            var editMOdel = new AdvertisementEditModel();

            editMOdel.Id = advertisement.Id;
            editMOdel.CategoryInfoModel = advertisement.CategoryInfoModel;
            editMOdel.Description       = advertisement.Description;
            editMOdel.IsOnlyForSell     = advertisement.IsOnlyForSell;
            editMOdel.PhotosPaths       = imagesPaths;
            editMOdel.Price             = advertisement.Price;
            editMOdel.Size  = advertisement.Size;
            editMOdel.Title = advertisement.Title;

            return(editMOdel);
        }
Пример #4
0
        private async void ShowAdvertisementDetails(AdvertisementItemDetails advertisement, double distance)
        {
            if (String.IsNullOrEmpty(advertisement.CityName))
            {
                textViewCityName.Visibility = ViewStates.Gone;
            }
            else
            {
                textViewCityName.Text = advertisement.CityName;
            }
            distanceTextView.Text  = String.Format("{0} km", distance);
            textViewSizeValue.Text = advertisement.Size.GetDisplayName();
            if (advertisement.IsSellerOnline)
            {
                sellerNetworkStateInfoImageView.SetImageDrawable(ContextCompat.GetDrawable(this, Resource.Drawable.userOnline));
            }
            else
            {
                sellerNetworkStateInfoImageView.SetImageDrawable(ContextCompat.GetDrawable(this, Resource.Drawable.userffline));
            }

            forSellOrChangeInfoTextView.Text = advertisement.IsOnlyForSell ?
                                               this.Resources.GetString(Resource.String.onlyForSellInfo) :
                                               this.Resources.GetString(Resource.String.forSellOrChangeInfo);

            var photosAdapter = new AdvertisementPhotosListAdapter(this.advertisement.Photos);

            photosAdapter.PhotoClicked += PhotosAdapter_PhotoClicked;
            photosRecyclerView.SetAdapter(photosAdapter);
            price.Text       = String.Format("{0} z³", advertisement.Price);
            title.Text       = advertisement.Title;
            description.Text = advertisement.Description;
            sellerName.Text  = advertisement.SellerName;
            if (advertisement.SellerProfileImage != null)
            {
                userPhoto.SetImageBitmap(await this.bitmapOperationService.GetScaledDownBitmapForDisplayAsync(advertisement.SellerProfileImage));
            }
            textViewAdvertStatus.Text = String.Format("Og³oszenie {0} {1}", advertisement.IsActive ? "aktywne do" : "zakoñczone ", advertisement.ExpirationDate.ToString(@"dd\.MM\.yyyy HH:mm"));
            btnContactBottom.Click   += async(s, e) => await StartConversationBtn_Click(s, e);

            startConversationBtn.Click += async(s, e) => await StartConversationBtn_Click(s, e);
        }