I have a drag n drop setup that converts a xml data sheet into Json 
objects. Every one of these objects needs to include a foreign key property 
"JobId". This JobId is created in the controller using a UID generator. 
What I am doing is, creating a Job with JobItems. The JobItems $http Post 
function is called from the Job success promise. So before i stringify the 
array created from the drag n drop directive I need to somehow inject that 
JobId. 

I am thinking a forEach loop could work if I can use it before the 
stringify. I have a general idea how it could work but I need some help

 //Generate Unique Job  Id
$scope.newJob = {};
$scope.newJob.JobId = uuid2.newuuid();
$scope.newJob.JobContractDate = new Date();
//Post Job
$scope.addJob = function () {
    $scope.newJob.JobId = uuid2.newuuid();
    var newJob = $scope.newJob;
    JobPost.post(newJob)
        .success(function () {
            $scope.addJobItems();
            toastr.success('Success!');
        }).error(function () {
            toastr.error('Error!');
        })

    console.log(newJob);

   };
   //Post Job Items
    var tableArray = {};

$scope.addJobItems = function () {

    var JobId = $scope.newJob.JobId
    var tableArray = $scope.fileData.tableData.QBRFQLINE.forEach(function 
(newJobItem) {
        $scope.fileData.tableData.QBRFQLINE.push('JobId : ' + JobId);
    });

    var data = JSON.stringify(tableArray)


    JobItemPost.post(data)
        .success(function () {
            $scope.okClose();
            toastr.success('Success!');
        }).error(function () {
            toastr.error('Error!');
        })

    console.log(data);

};

What the JSON looks like

  newJobItem #0:  
{"ESOURCELINEID":"5464","QBRFQLINEUID":"5464","QBRFQLINESUPPLIERPARTNUMBER":"HW12","QBRFQLINESUPPLIE
  
RQUOTEQTY":"0","QBRFQLINESUPPLIERQUOTEUOM":"hank","QBRFQLINESUPPLIERQUOTEUNITPRICE":"38.00","QBRFQLI
      NESUPPLIERQUOTENOTES":"Pricing is good through 4th qtr  
2014.","QBRFQLINESUPPLIERQUOTEEXPIRE":"","QBRFQGROUPCOMBINESIZES":"0","QBRFQGROUPITEMSCOMBINESIZES":
     "5464","$$hashKey":"object:173"}
  newJobController.js:105 newJobItem #1:    
{"ESOURCELINEID":"5804","QBRFQLINEUID":"5804","QBRFQLINESUPPLIERPARTNUMBER":"ATILE","QBRFQLINESUPPLI
     ERQUOTEQTY":"0","QBRFQLINESUPPLIERQUOTEUOM":"1,000 
SF","QBRFQLINESUPPLIERQUOTEUNITPRICE":"1941.00","QBRFQLINESUPPLIERQUOTENOTES":"","QBRFQLINESUPPLIERQ
    
UOTEEXPIRE":"","QBRFQGROUPCOMBINESIZES":"0","QBRFQGROUPITEMSCOMBINESIZES":"5804","$$hashKey":"object
     :174"}
  newJobController.js:105 newJobItem #2:    
{"ESOURCELINEID":"5805","QBRFQLINEUID":"5805","QBRFQLINESUPPLIERPARTNUMBER":"AXL7320","QBRFQLINESUPP
      LIERQUOTEQTY":"0","QBRFQLINESUPPLIERQUOTEUOM":"1,000   
LF","QBRFQLINESUPPLIERQUOTEUNITPRICE":"378.00","QBRFQLINESUPPLIERQUOTENOTES":"","QBRFQLINESUPPLIERQU
       
OTEEXPIRE":"","QBRFQGROUPCOMBINESIZES":"0","QBRFQGROUPITEMSCOMBINESIZES":"5805","$$hashKey":"object:
      175"}



View

<tr ng-repeat="newJobItem in fileData.tableData.QBRFQLINE">
    <td data-title="'ID'">{{newJobItem.ESOURCELINEID}}</td>
    <td data-title="'SIZES'">{{newJobItem.QBRFQGROUPCOMBINESIZES}}</td>
    <td data-title="'NUMBER'">{{newJobItem.QBRFQLINESUPPLIERPARTNUMBER}}</td>
    <td data-title="'EXPIRE'">{{newJobItem.QBRFQLINESUPPLIERQUOTEEXPIRE}}</td>
    <td data-title="'NOTES'">{{newJobItem.QBRFQLINESUPPLIERQUOTENOTES}}</td>
    <td data-title="'QUOTE QTY'">{{newJobItem.QBRFQLINESUPPLIERQUOTEQTY}}</td>
    <td data-title="'UNIT 
PRICE'">{{newJobItem.QBRFQLINESUPPLIERQUOTEUNITPRICE}}</td>
    <td data-title="'UID'">{{newJobItem.QBRFQLINEUID}}</td>
  </tr>



-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to