angular.module('fbMocks') .factory('dokumentService', ['$q', function ( $q: ng.IQService ): fb.IMockDokumentService { var 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 get = function (id: number): fb.DokumentWrapper { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.GET, id + '')) }; return new fb.DokumentWrapper(res); }; var add = function (dokument: fb.Dokument): fb.DokumentWrapper { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.ADD, dokument.DokumentId + '')) }; return new fb.DokumentWrapper(res); }; var addMultipla = function (dokument: fb.Dokument[]): fb.List { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.ADD, '')) }; return new fb.List(res, fb.DokumentWrapper); }; var save = function (dokument: fb.Dokument): fb.DokumentWrapper { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.SAVE, dokument.DokumentId + '')) }; return new fb.DokumentWrapper(res); }; var remove = function (dokument: fb.Dokument): fb.ResourceBase { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.REMOVE, dokument.DokumentId + '')) }; return new fb.ResourceBase(res); }; var getMaeklarObjektDok = function (id: number): fb.DokumentOchUppladdadeWO{ var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.GET, id + '')) }; return new fb.DokumentOchUppladdadeWO(res); }; var getPersonDok = function (): fb.FristaaendeDokumentWO{ var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.GET, '')) }; return new fb.FristaaendeDokumentWO(res); }; var getAllaPersonDok = function (): fb.FristaaendeDokumentWO { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.GET, '')) }; return new fb.FristaaendeDokumentWO(res); }; var getFooterData = function (id: number): fb.DokumentFooterData { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.GET, id + '')) }; return new fb.DokumentFooterData(res); }; var kopieraDokumentTillObjektIProjekt = function (data: { MaeklarObjektIdFoerProjektet: number; Dokument: number[]; }) { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.ADD, data.MaeklarObjektIdFoerProjektet.toString())) }; return new fb.ResourceBase(res); }; var getDokumentInfo = function (id: number): fb.DokumentLO { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.GET, 'DokumentInfo' + id )) }; return new fb.DokumentLO(res); }; var skrivUtPdf = function (id: number): any { return ( {}); }; var printDocuments = function (documentsToPrintObj: fb.IDocumentsToPrint): ng.IHttpPromise { return ( {}); }; var existsDokumentMallLikvidavraekning = function (id: number): ng.IHttpPromise { return ( {}); } var getFakturaList = function (): fb.List { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.QUERY, 'fakturaList')) }; return new fb.List(res, fb.FakturaLO); }; const skickaTillKundportalen = function (maeklarObjektId: number, docs: any): { $promise: ng.IHttpPromise, $resolved: boolean } { return ({}); }; return { get: get, add: add, addMultipla: addMultipla, save: save, remove: remove, getMaeklarObjektDok: getMaeklarObjektDok, getPersonDok: getPersonDok, getAllaPersonDok: getAllaPersonDok, getFooterData: getFooterData, kopieraDokumentTillObjektIProjekt: kopieraDokumentTillObjektIProjekt, getDokumentInfo: getDokumentInfo, resolve: resolve, reject: reject, getPendingRequests: getPendingRequests, skrivUtPdf: skrivUtPdf, printDocuments: printDocuments, existsDokumentMallLikvidavraekning: existsDokumentMallLikvidavraekning, getfakturaList: getFakturaList, skickaTillKundportalen: skickaTillKundportalen }; }]);