public async Task <IActionResult> Edit(int id, [FromForm] EpisodeRequest model) { var episode = _episodeRepository.FindById(id); if (!ModelState.IsValid || episode == null) { return(BadRequest(ErrorResponse.InvalidPayload)); } episode.Name = model.Name; if (model.File != null) { var filePath = $"/{DateTime.Now.ToFileTime()}_{model.File.FileName}"; using (var stream = new FileStream($"wwwroot/{filePath}", FileMode.Create)) { var oldPath = $"wwwroot{episode.Url}"; if (System.IO.File.Exists(oldPath)) { System.IO.File.Delete(oldPath); } await model.File.CopyToAsync(stream); episode.Url = filePath; } } _episodeRepository.Update(episode); await _unitOfWork.SaveChangesAsync(); return(Ok()); }