Example #1
0
 /**
  * Create a single signature demand for a single user on a single file
  *
  * @param File $file
  * @param Cosigner $cosigner
  * @param array $visibleOptions
  * @param null $message
  * @param array $options
  * @return bool|mixed
  */
 public function createSingle(File $file, Cosigner $cosigner, array $visibleOptions = array(), $message = null, array $options = array())
 {
     $resolver = new OptionsResolver();
     $this->configureCreateOptions($resolver);
     $options = $resolver->resolve($options);
     $visibleResolver = new OptionsResolver();
     $this->configureVisibleOptions($visibleResolver);
     $visibleOptions = $visibleResolver->resolve($visibleOptions);
     $visibleOptions['mail'] = $cosigner->getMail();
     $aFile = array($file->toArray());
     $aCosigner = array($cosigner->toArray());
     $aVisible = array($file->getIdFile() => array($visibleOptions));
     try {
         $result = $this->root->initCoSign($aFile, $aCosigner, $aVisible, $message, $options);
         return $this->castResponseToEntity($result, $this->signatureModelClassName);
     } catch (\Exception $e) {
     }
     return false;
 }