public async Task <CloudinaryAsset> AddCloudAssetAsync(CloudinaryAsset cloudinaryAsset, int id, int lessonId) { var file = cloudinaryAsset.File; var uploadResult = new VideoUploadResult(); try { if (file.Length > 0) { using (var stream = file.OpenReadStream()) { var uploadParams = new VideoUploadParams() { File = new FileDescription(file.Name, stream) }; uploadResult = _cloudinary.Upload(uploadParams); } } } catch (Exception e) { string errorMessage = $"Exception - MESSAGE: {e.Message} STACK TRACE: {e.StackTrace}"; // Exception logging code here } cloudinaryAsset.Url = uploadResult.Uri.ToString(); cloudinaryAsset.PublicId = uploadResult.PublicId; cloudinaryAsset.AssetName = cloudinaryAsset.File.FileName; cloudinaryAsset.Type = cloudinaryAsset.File.ContentType; cloudinaryAsset.UserId = id; cloudinaryAsset.LessonId = lessonId; var assetForReturn = cloudinaryAsset; CloudAsset asset = new CloudAsset() { AssetName = cloudinaryAsset.AssetName, Type = cloudinaryAsset.Type, Url = cloudinaryAsset.Url, PublicId = cloudinaryAsset.PublicId, UserId = cloudinaryAsset.UserId, LessonId = cloudinaryAsset.LessonId }; await _repository.AddCloudAssetAsync(asset); return(assetForReturn); }
public async Task AddCloudAssetAsync(CloudAsset asset) { _context.CloudAsset.Add(asset); await _context.SaveChangesAsync(); }