/** * Created by robin on 10/24/15. */ (function () { 'use strict'; angular.module('luticateUtils') .factory('luticateRequest', ['$q', '$http', 'luticatePromises', function ($q, $http, luticatePromises) { var coPlanningServices = {}; coPlanningServices.get = function(url, dataGet, promise) { return coPlanningServices.request(url, 'GET', dataGet, null, promise); }; coPlanningServices.post = function(url, dataPost, dataGet, promise) { return coPlanningServices.request(url, 'POST', dataGet, dataPost, promise); }; coPlanningServices.put = function(url, dataPost, dataGet, promise) { return coPlanningServices.request(url, 'PUT', dataGet, dataPost, promise); }; coPlanningServices.delete = function(url, dataPost, dataGet, promise) { return coPlanningServices.request(url, 'DELETE', dataGet, dataPost, promise); }; function reject(defered, data, status, promise) { var obj = { data: data, status: status }; defered.reject(obj); if (promise != null) { luticatePromises.reject(promise, obj); } } function resolve(defered, data, promise) { defered.resolve(data); if (promise != null) { luticatePromises.resolve(promise, data); } } coPlanningServices.request = function(url, method, dataGet, dataPost, promise) { if (promise != null) { luticatePromises.initPromise(promise); } var defered = $q.defer(); var params = { url: url, method: method, params: dataGet, data: dataPost }; $http(params) .success(function (result, status) { if (result.Message != null) { reject(defered, result.Message, status, promise); } else { resolve(defered, result.Data, promise); } }) .error(function (result, status) { if (result.Message != null) { reject(defered, result.Message, status, promise); } else { reject(defered, result, status, promise); } }); return defered.promise; }; return coPlanningServices; }]); })();