Example #1
0
        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);
        }
Example #2
0
 public async Task AddCloudAssetAsync(CloudAsset asset)
 {
     _context.CloudAsset.Add(asset);
     await _context.SaveChangesAsync();
 }