public IActionResult CopyFileEncryptAndUploadAudio([FromForm] DownloadEncryptFileCommand command)
 {
     try
     {
         uploadMusicService.CopyFileEncryptAndUploadToAzureBlob(command.blobName, command.password, ResourceTypes.Audio);
         return(StatusCode(StatusCodes.Status200OK));
     }
     catch (Exception ex)
     {
         return(StatusCode(StatusCodes.Status500InternalServerError, ex));
     }
 }
        public async Task <IActionResult> DownloadFileEncryptAndUploadMedia([FromForm] DownloadEncryptFileCommand command)
        {
            try
            {
                var currentDirectory = System.IO.Directory.GetCurrentDirectory();

                ConfigWrapper config = new ConfigWrapper(new ConfigurationBuilder()
                                                         .SetBasePath(Directory.GetCurrentDirectory())
                                                         .AddJsonFile(currentDirectory + "/appsettings.json", optional: true, reloadOnChange: true)
                                                         .AddEnvironmentVariables()
                                                         .Build());

                try
                {
                    uploadMusicService.CopyFileEncryptAndUploadToAzureBlob(command.blobName, command.password, ResourceTypes.Video);
                    var urlStream = await uploadEncodeAndStreamFiles.RunAsync(config, command.blobName);

                    return(Ok(new { url = urlStream }));
                }
                catch (Exception exception)
                {
                    if (exception.Source.Contains("ActiveDirectory"))
                    {
                        Console.Error.WriteLine("TIP: Make sure that you have filled out the appsettings.json file before running this sample.");
                    }

                    Console.Error.WriteLine($"{exception.Message}");

                    ApiErrorException apiException = exception.GetBaseException() as ApiErrorException;
                    if (apiException != null)
                    {
                        Console.Error.WriteLine(
                            $"ERROR: API call failed with error code '{apiException.Body.Error.Code}' and message '{apiException.Body.Error.Message}'.");
                    }
                    return(StatusCode(StatusCodes.Status500InternalServerError, apiException));
                }
                //return StatusCode(StatusCodes.Status200OK);
            }
            catch (Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, ex));
            }
        }