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