public async Task ExportAsync()
        {
            try
            {
                SaveSettings(SqlAzureCredentials, Database);
                Progress = 1;
                var progress = new Progress <int>(i => Progress = i);

                if (SqlAzureCredentials.IsValid() && !string.IsNullOrEmpty(Database) && !string.IsNullOrEmpty(StorageAccount))
                {
                    var ieHelper = new ImportExportHelper
                    {
                        EndPointUri  = @"https://am1prod-dacsvc.azure.com/DACWebService.svc/",
                        ServerName   = SqlAzureCredentials.ServerName,
                        StorageKey   = SqlAzureCredentials.StorageKey,
                        DatabaseName = Database,
                        UserName     = SqlAzureCredentials.Username,
                        Password     = SqlAzureCredentials.Password
                    };

                    string bacpacName = string.Format("{0}{1}", Database, DateTime.Now.Ticks);

                    await
                    ieHelper.DoExportAsync(
                        String.Format(@"http://{0}.blob.core.windows.net/bacpac/{1}.bacpac", StorageAccount,
                                      bacpacName), progress);

                    await SaveBacpac(bacpacName);

                    Progress = 90;
                    DeleteBacpacInCloud(bacpacName);
                    Progress = 100;
                }
            }
            catch (AggregateException aggregateException)
            {
                foreach (Exception innerException in aggregateException.InnerExceptions)
                {
                    ExceptionViewModel.Message = innerException.ToString();
                    _windowManager.ShowDialog(ExceptionViewModel);
                }
            }
            catch (Exception exception)
            {
                ExceptionViewModel.Message = exception.ToString();
                _windowManager.ShowDialog(ExceptionViewModel);
            }
        }