2014-09-23 1 views
0

maintenant je peux sélectionner un Job qui est déjà dans la base de données et l'envoyer à un contrôleur web api pour être exporté vers un PDF. Je dois maintenant créer un Job et l'envoyer pour être converti en même temps. Donc j'ai besoin d'aide sur la meilleure façon de le faire? Aurais-je besoin de le POSTER, puis avoir une fonction pour appeler une action qui obtient le nouveau travail créé dans la base de données? Ou pourrais-je en quelque sorte transformer le formulaire en un objet qui peut être transmis au contrôleur Api, avant qu'il ne fasse un POST? Je pense que le dernier serait plus facile mais je l'action qui envoie l'objet au contrôleur d'api est un appel de GET? Voici donc comment j'envoie un travail qui est déjà dans la dbComment faire un POST avec un GET comme promesse

<div class="inline-fields"> 
<label>JobId:</label> 
<input ng-model="currentItem.JobId" type="text"> 
<label>JobName:</label> 
<input ng-model="currentItem.JobName" type="text"> 
</div> 

<input ng-click="EmailPdf(currentItem)" type="button" value="Email"/> 

Contrôleur

$scope.EmailPdf = function() { 
    var id = $scope.currentItem.JobId 
    $http.get('/api/Pdf/' + id).success(function() { 
     $scope.PrintPreviewModal(); 
    }); 
} 

Api Controller

public string Get(int? id) 
    { 
     if (!id.HasValue) 
     { 
      return string.Empty; 
     } 
    JobDataAdapter adapter = new JobDataAdapter(); 
     Job job = new Job(); 
     job = adapter.GetJob(id); 
     if (job == null) 
     { 
      return string.Empty; 
     } 
     try 
     { 

Voici comment je crée l'emploi

Répondre

0

Si je comprends ce que vous ' En essayant de faire, vous pouvez appeler votre fonction pdf à partir du succès de votre appel PostNewJob. Quelque chose comme:

$http.post('/api/apiJob/PostNewJob', data).success(function (data, status, headers) { 
    console.log(data); 
    // use the new object to call the Pdf api 
    $http.get('/api/Pdf/' + data.id).success(function() { 
     $scope.PrintPreviewModal(); 
     window.top.location.reload(); 
    }); 
}); 
+0

oui, c'est exactement ce que je cherche. mais l'identifiant a-t-il déjà été créé? Cela est créé côté serveur automatiquement, correct? Puis-je utiliser une autre propriété telle que JobNumber? – texas697

Questions connexes