Quintiq file version 2.0
#parent: #root
Method ImportFiles (
  String importpath,
  output structured[BinaryValue] binaryvalues,
  output structured[String] brokers,
  output structured[BinaryValue] smbinaryvalues,
  output structured[String] smbrokers,
  output structured[String] fileNames,
  structured[String] smFileNames,
  output structured[String] missingFiles
) id:Method_DialogImport_ImportFiles
{
  #keys: '[136682.0.2008494416]'
  Body:
  [*
    // Upload send data to server
    importpath := importpath;
    
    is3DDrive := RadioButtonGroupSource.BoundValue()= MPSyncUtility::ID_Source_3DDrive();
    
    traverse( DataHolderDialogData.Data().WrappedInstance(), ImportObjectGroupInDefaultProfile, e,
              e.IsIncludeInImportExport() )
    {  
      filenames := e.ImportObjectGroup().GetMPFileNames();
      
      traverse( filenames, Elements, filename )
      {
        
        fileExists := ifexpr( is3DDrive, 
                              exists( DataHolderFileItems.Data(), Elements, fileItem, fileItem.Name() = filename ),
                              false/*Application.ClientFileExists( filepath )*/ );
                              
        if( fileExists )
        {   
          
          brokername := Form.GetBrokerName( filename );
          
          if( filename.Regex( "^MP_") )
          {
            //binaryvalues.Add( bindata.AsBinaryValue() );
            
            if ( brokername.Length() >0 )
            {
              brokers.Add( brokername );
              fileNames.Add( filename );          
            }
          }
          else
          {
            //smbinaryvalues.Add( bindata.AsBinaryValue() )    
            
            if ( brokername.Length() >0 )
            {
              smbrokers.Add( brokername );
              smFileNames.Add( filename );
            }
          }
        }
        else
        {
          missingFiles.Add( filename )
        }
      
      }
    }
  *]
}
