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