angular.module('fbMocks') .factory('naeromraadeService', ['$q', function ( $q: ng.IQService ): fb.IMockNaeromraadeService { 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 maeklarObjektGet = function (id: number): fb.MaeklarObjektNaeromraade { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.GET, id.toString())) }; return new fb.MaeklarObjektNaeromraade(res); }; var maeklarObjektPut = function (naeromraade: fb.MaeklarObjektNaeromraade): fb.MaeklarObjektNaeromraade { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.SAVE, '')) }; return new fb.MaeklarObjektNaeromraade(res); }; var maeklarObjektAdd = function (maeklarObjektId: number, naeromraade: fb.MaeklarObjektNaeromraade): fb.MaeklarObjektNaeromraade { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.ADD, '')) }; return new fb.MaeklarObjektNaeromraade(res); }; var maeklarObjektRemove = function (maeklarObjektId: number): any { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.REMOVE, '')) }; return res; }; var get = function (id: number): fb.Naeromraade { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.GET, id.toString())) }; return new fb.Naeromraade(res); }; var kontorQuery = function (id: number): fb.List { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.QUERY, 'kontor'+id.toString())) }; return new fb.List(res, fb.NaeromrListItem) }; var query = function (): fb.List { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.QUERY, '')) }; return new fb.List(res, fb.NaeromrListItem); }; var add = function (naeromraade: fb.Naeromraade): fb.Naeromraade { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.ADD, '')) }; return new fb.Naeromraade(res); }; var save = function (naeromraade: fb.Naeromraade): fb.Naeromraade { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.GET, '' + 5)) }; return new fb.Naeromraade(res); }; return { get: get, query: query, add: add, resolve: resolve, reject: reject, getPendingRequests: getPendingRequests, save: save, maeklarObjekt: { get: maeklarObjektGet, save: maeklarObjektPut, add: maeklarObjektAdd, remove: maeklarObjektRemove }, kontor: { query: kontorQuery } }; }]);