angular.module('kalgudiApp').service('transactionServivces', ['$rootScope', '$q', 'searchRestangular', 'commonDataFactory', 's3Restangular','mybusinessRestangular', function($rootScope, $q, searchRestangular, commonDataFactory, s3Restangular,mybusinessRestangular) { /** * To Create Transaction * @params transactionObj contains Transaction Details */ this.createTransaction = function(transactionObj) { var deferred = $q.defer(); s3Restangular.one("v1/transactions").customPOST(transactionObj).then( function(response) { deferred.resolve(response); }, function(err) { $rootScope.spinerisActive = false; deferred.reject(err); }); return deferred.promise; } this.businessViewMore = function(offset, limit){ var deferred = $q.defer(); limit=20; this.url="../feed/v1/businessHome?profilekey="+$rootScope.loggedInUserBusinessProfile.profileKey+"&offset="+offset+"&limit="+limit; console.log("url"+this.url) s3Restangular.one(this.url).get().then(function(response){ var responseData = s3Restangular.stripRestangular(response); deferred.resolve(responseData); }, function(error){ $rootScope.spinerisActive = false; deferred.reject(error); }); return deferred.promise; } this.getFullViewMessages = function(id) { var deferred = $q.defer(); var request={"module":"traderapp","keys":id} s3Restangular.one('v1/commondata/allKeys').customPOST(request).then(function(data) { outputData=commonDataFactory.stripRestangular(data); deferred.resolve(outputData); }, function (err) { deferred.reject(err); }); return deferred.promise; }; /* download document*/ this.fileGenerateDoc = function(request) { var deferred = $q.defer(); s3Restangular.all("v1/biz/generatedoc?keyPatternId=" + request.keyPatternId + "&fileName=" + request.fileName + "&moduleId=" + request.moduleId).customPOST().then(function(result){ //output=searchRestangular.stripRestangular(data); deferred.resolve(result); }, function (err) { if(err.config.data == "nonetwork") { $rootScope.spinerisActive = false; } deferred.reject(err); }); return deferred.promise; }; /*email document*/ this.emailDoc = function(request,email) { var deferred = $q.defer(); searchRestangular.one("biz/sendmail?email=" + email + "&filename=" + request.fileName + "&keypatternid=" + request.keyPatternId + "&moduleid=" + request.moduleId).get().then(function(result){ //output=searchRestangular.stripRestangular(data); deferred.resolve(result); }, function (err) { if(err.config.data == "nonetwork") { $rootScope.spinerisActive = false; } deferred.reject(err); }); return deferred.promise; }; /** * To Update Transaction Comments * @params id - Transaction ID * operation - Operation Type (ACCEPT / REJECT / EDIT&ACCEPT) * commentRequest - Transaction Comment Form Data */ this.postComments = function(transactionId, commentRequest){ var deferred = $q.defer(); s3Restangular.one("v1/transactions/"+ transactionId + "/comment").customPUT(commentRequest).then(function(response) { deferred.resolve(response); },function(err) { $rootScope.spinerisActive = false; deferred.reject(err); }); return deferred.promise; } /** * To Update Transaction * @params id - Transaction ID * operation - Operation Type (ACCEPT / REJECT / EDIT&ACCEPT) */ this.updateTransaction = function(transactionId, operationType, transactionObj) { var deferred = $q.defer(); s3Restangular.one("v1/transactions/"+ transactionId + "/" + operationType).customPUT(transactionObj).then(function(response) { deferred.resolve(response); },function(err) { $rootScope.spinerisActive = false; deferred.reject(err); }); return deferred.promise; } /** * To Download Transaction Receipt * @params id - Transaction ID * receiptName - Receipt Type (Sale / Purchase) */ this.dowloadReceipt = function(id, receiptName) { var deferred = $q.defer(); s3Restangular.one("v1/receipts/"+ id +"/" + receiptName).get().then(function(response) { var responseData = s3Restangular.stripRestangular(response); deferred.resolve(responseData); }, function(error){ $rootScope.spinerisActive = false; deferred.reject(error); }); return deferred.promise; } /** * To Get Stock Entries * @params productId - Product ID * varietyId - Product Variety Id * profileKey - Logged In User Profile Key */ this.getStockEntryTransaction = function(productId, varietyId) { var deferred = $q.defer(); const URL = "v1/transactions/"+ productId +"/" + varietyId; s3Restangular.one(URL).get().then(function(response) { var responseData = s3Restangular.stripRestangular(response); deferred.resolve(responseData); }, function(error){ $rootScope.spinerisActive = false; deferred.reject(error); }); return deferred.promise; } /** * To Update Transaction * @params id - Transaction ID * operation - Operation Type (ACCEPT / REJECT / EDIT&ACCEPT) */ this.updateStockSaleTransaction = function(transactionId, farmerDetails) { var deferred = $q.defer(); s3Restangular.one("v1/transactions/"+ transactionId + "/stock").customPUT(farmerDetails).then(function(response) { deferred.resolve(response); },function(err) { $rootScope.spinerisActive = false; deferred.reject(err); }); return deferred.promise; } /* Co-app specific services start */ this.deleteStock = function(businessKey,bizId) { var deferred = $q.defer(); mybusinessRestangular.one("../societyapp/delete"+"?keyPatternId="+businessKey+"&farmerBizId="+bizId).remove().then(function(data) { outputData=profileRestangular.stripRestangular(data); deferred.resolve(outputData); }, function (err) { if(err.config.data == "nonetwork") { $rootScope.spinerisActive = false; } deferred.reject(err); }); return deferred.promise; } this.getConsolidateData = function(Request) { var deferred = $q.defer(); mybusinessRestangular.one("../bizcommon/getConsolidatedinbox?date="+Request).get().then(function(responseData) { output=mybusinessRestangular.stripRestangular(responseData); deferred.resolve(output); }, function (err) { if(err.config.data == "nonetwork") { $rootScope.spinerisActive = false; } deferred.reject(err); }); return deferred.promise; }; this.getAllConsolidateData = function(Request) { var deferred = $q.defer(); mybusinessRestangular.one("../bizcommon/getStockBoardinbox?fromDate="+Request.fromDate+"&toDate="+Request.toDate).get().then(function(responseData) { output=mybusinessRestangular.stripRestangular(responseData); deferred.resolve(output); }, function (err) { if(err.config.data == "nonetwork") { $rootScope.spinerisActive = false; } deferred.reject(err); }); return deferred.promise; }; this.getConsolidateDataFullView = function(Request) { var deferred = $q.defer(); mybusinessRestangular.one("../bizcommon/getConsolidatedfullView?date="+Request.date+"&userId="+Request.userId+"&name="+Request.name).get().then(function(responseData) { output=mybusinessRestangular.stripRestangular(responseData); deferred.resolve(output); }, function (err) { if(err.config.data == "nonetwork") { $rootScope.spinerisActive = false; } deferred.reject(err); }); return deferred.promise; }; this.getTrasnactionData = function(tempRequest) { tempRequest.businessTypeId = $rootScope.loggedInUserCurrentBussinessInfo.businessTypeId; var deferred = $q.defer(); mybusinessRestangular.one('transaction/commonservices').get(tempRequest).then(function(data) { output = mybusinessRestangular.stripRestangular(data); deferred.resolve(output); }, function (err) { deferred.reject(err); }); return deferred.promise; }; this.getProductsUnits=function(productId) { var deferred = $q.defer(); s3Restangular.one("v1/commondata/productunits?ids="+productId+"&countryCode="+$rootScope.loggedInUserCurrentBussinessInfo.locationTo.countryId).get().then( function (result) { deferred.resolve (result); }, function (error) { deferred.reject (error); }); return deferred.promise; } /* Co-app specific services end */ }]);