/// <summary> /// Saves new single <see cref="DogImages"/> entity to database /// </summary> /// <param name="image"><see cref="DogImages"/> entity to write to database</param> /// <returns><see cref="DogImages"/> entity instance w/SQL generated Id</returns> public async Task <DogImages> SaveDogImage(DogImages image) { _dbSet.Add(image); await _context.SaveChangesAsync(); return(image); }
/// <summary> /// Creates (and saves) new <see cref="DogImages"/> entity and calls method to write dog profile image file to disk /// </summary> /// <param name="imgStr">Base64 encoded string of user uploaded image</param> /// <param name="extension">File extension of uploaded image</param> /// <param name="dogId">Dog Id int for dog that owns image</param> /// <param name="userId">User Id string for user that uploaded image</param> /// <returns>SQL generated image Id <see cref="int"/> for newly saved image</returns> public async Task <int?> SaveProfileImage(string imgStr, string extension, int dogId, string userId) { // save image to disk, generates and returns internal filename string string filename = SaveImageToDisk(imgStr, extension, true); // create new DogImages entity using uploaded profile image details DogImages img = new DogImages() { DogId = dogId, Filename = filename, IsProfileImage = true, Created = DateTime.Now, CreatedBy = userId }; // save new DogImages entity DogImages image = await _repository.SaveDogImage(img); return(image.Id); }