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.