private async Task <List <FilmPoster> > SavePostersImages(Guid filmId, IFormFileCollection posters) { List <FilmPoster> filmPosters = new List <FilmPoster>(); Guid posterId = Guid.NewGuid(); foreach (var image in posters) { using (var fileStream = new FileStream($"{_appEnvironment.WebRootPath}/img/posters/poster_{posterId}.png", FileMode.Create, FileAccess.Write)) { image.CopyTo(fileStream); FilmPoster filmPoster = new FilmPoster { Url = $"/img/posters/poster_{posterId}.png", FilmId = filmId }; await _posterRepository.CreateAsync(filmPoster); filmPosters.Add(filmPoster); } posterId = Guid.NewGuid(); } return(filmPosters); }
public async Task Create(Film film, IFormFile formFile) { _dbContext.Films.Add(film); await _dbContext.SaveChangesAsync(); using (var stream = formFile.OpenReadStream()) { var poster = new FilmPoster() { FilmId = film.Id, ContentType = formFile.ContentType, Data = new byte[stream.Length] }; WriteStreamToArray(stream, poster.Data); _dbContext.FilmPosters.Add(poster); await _dbContext.SaveChangesAsync(); } }
private async Task SaveStateAsync(FilmPoster poster, EntityState state) { _context.Entry(poster).State = state; await _context.SaveChangesAsync(); }
public async Task UpdateAsync(FilmPoster poster) { await SaveStateAsync(poster, EntityState.Modified); }
public async Task DeleteAsync(FilmPoster poster) { _context.Remove(poster); await _context.SaveChangesAsync(); }
public async Task CreateAsync(FilmPoster poster) { await SaveStateAsync(poster, EntityState.Added); }