public async Task <int> AddListingPhotoAsync(ListingPhotoRequest request) { int count = _repository.ListingPhotoRepo.FindByCondition(x => x.ListingId == request.ListingId).ToList().Count; if (count >= 5) { return(0); } var listingPhoto = new ListingPhoto() { ListingId = request.ListingId, IsDefault = request.IsDefault }; if (request.PhotoFile != null) { listingPhoto.PhotoUrl = await SaveFile(request.PhotoFile); } await _repository.ListingPhotoRepo.CreateAsync(listingPhoto); await _repository.SaveChangesAsync(); return(listingPhoto.Id); }
public async Task <ListingPhotoViewModel> GetListingPhotoByIdAsync(int photoId) { ListingPhoto listingPhoto = await FindListingPhotoByIdAsync(photoId); ListingPhotoViewModel viewModel = _mapper.Map <ListingPhotoViewModel>(listingPhoto); return(viewModel); }
public async Task <int> RemovePhotoAsync(int photoId) { ListingPhoto listingPhoto = await FindListingPhotoByIdAsync(photoId); _repository.ListingPhotoRepo.Delete(listingPhoto); await _storageService.DeleteFileAsync(listingPhoto.PhotoUrl); return(await _repository.SaveChangesAsync()); }
public IHttpActionResult PostListingPhoto(ListingPhoto listingPhoto) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.ListingPhotoes.Add(listingPhoto); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = listingPhoto.ListingPhotoId }, listingPhoto)); }
public IHttpActionResult AddListingPhotoToListing(int listingPhotoId, int listingId) { ListingPhoto listingPhoto = new ListingPhoto(); listingPhoto.ListingPhotoId = listingPhotoId; listingPhoto.ListingId = listingId; db.ListingPhotoes.Add(listingPhoto); db.SaveChanges(); return(Ok()); }
public async Task <int> UpdateListingPhotoAsync(int photoId, IFormFile photoUrl) { ListingPhoto listingPhoto = await FindListingPhotoByIdAsync(photoId); if (photoUrl != null) { listingPhoto.PhotoUrl = await SaveFile(photoUrl); } _repository.ListingPhotoRepo.Update(listingPhoto); return(await _repository.SaveChangesAsync()); }
public IHttpActionResult DeleteListingPhoto(int id) { ListingPhoto listingPhoto = db.ListingPhotoes.Find(id); if (listingPhoto == null) { return(NotFound()); } db.ListingPhotoes.Remove(listingPhoto); db.SaveChanges(); return(Ok(listingPhoto)); }
private async Task <ListingPhoto> FindListingPhotoByIdAsync(int photoId) { ListingPhoto listingPhoto = await _repository.ListingPhotoRepo.FindByIdAsync(photoId); return(listingPhoto); }