angular.module('fbMocks') .factory('motivService', ['$q', function ( $q: ng.IQService ): fb.IMockMotivService { var mockBase: fb.MockBase = new fb.MockBase($q); var resolve = function (type: fb.RequestType, identifier: string, returnValue: any): void { mockBase.resolve(mockBase.requestIdentifier(type, identifier), returnValue); }; var reject = function (type: fb.RequestType, identifier: string, returnValue: any): void { mockBase.reject(mockBase.requestIdentifier(type, identifier), returnValue); }; var getPendingRequests = function (): string[] { return mockBase.getPendingRequests(); }; var getMaeklarObjekt = function (maekarObjektId: number): fb.Motiv { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.GET, maekarObjektId.toString())) }; return new fb.Motiv(res); }; var getNaeromraade = function (naeromraadeInfoId: number): fb.Motiv { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.GET, naeromraadeInfoId.toString())) }; return new fb.Motiv(res); }; var getPerson = function (personId: number): fb.Motiv { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.GET, personId.toString())) }; return new fb.Motiv(res); }; var get = function (id: number): fb.MotivWrapper { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.GET, id.toString())) }; return new fb.MotivWrapper(res); } var getFraanArkivet = function (id: number): any { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.GET, id.toString())) }; return res; } var save = function (motivObjekt: fb.MotivObjekt): fb.MotivObjekt { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.SAVE, motivObjekt.MotivId.value.toString())) }; return new fb.MotivObjekt(res); }; var saveOrdning = function (motiv: fb.MotivIdArray) { return motiv; }; var remove = function (motivObjekt: fb.MotivObjekt): fb.ResourceBase { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.REMOVE, motivObjekt.MotivId.value + '')) }; return new fb.ResourceBase(res); }; var kopiera = function (typ: string, id: number, motivIds: number[]) { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.ADD, typ + id.toString())) }; return new fb.ResourceBase(res); } var kopieraTillObjektIProjekt = function (obj: fb.IKopieraBilderObjektIProjektDO) { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.ADD, obj.MaeklarObjektIdFoerProjektet.toString())) }; return new fb.ResourceBase(res); }; return { maeklarObjekt: { get: getMaeklarObjekt, save: saveOrdning, }, naeromraade: { get: getNaeromraade, }, person: { get: getPerson, }, kopiera: kopiera, get: get, getFraanArkivet: getFraanArkivet, save: save, saveOrdning: saveOrdning, remove: remove, kopieraTillObjektIProjekt: kopieraTillObjektIProjekt, resolve: resolve, reject: reject, getPendingRequests: getPendingRequests }; }]);