angular.module('fbMocks') .factory('maeklarObjektService', ['$q', function ( $q: ng.IQService ): fb.IMockMaeklarObjektService { 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 get = function (id: number): fb.MaeklarObjektDO { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.GET, '' + id)) }; return new fb.MaeklarObjektDO(res); }; var query = function (): fb.Map { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.QUERY, '')) }; return new fb.Map(res, fb.MaeklarObjektLO, 'MaeklarObjektId'); }; var add = function (maeklarObjekt: fb.MaeklarObjektObjektWizard): fb.MaeklarObjektDO { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.ADD, '')) }; return new fb.MaeklarObjektDO(res); }; var save = function (maeklarObjekt: fb.MaeklarObjektDO): fb.MaeklarObjektDO { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.SAVE, maeklarObjekt.MaeklarObjektId + '')) }; return new fb.MaeklarObjektDO(res); }; var getOenObjektTyp = function (id: number) { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.GET, '' + id)) }; return new fb.MaeklarObjektKategorisObjekttyp(res); }; //var remove = function (maeklarObjekt: fb.MaeklarObjekt): fb.ResourceBase { // var res = { $promise: def.promise }; // return new fb.ResourceBase(res); //}; var arkivera = function (idn: number[]): fb.ResourceBase { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.SAVE, 'arkivera')) }; return new fb.ResourceBase(res); }; var aktivera = function (idn: number[]): fb.ResourceBase { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.SAVE, 'aktivera')) }; return new fb.ResourceBase(res); }; var remove = function (idn: number[]): fb.ResourceBase { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.SAVE, 'remove')) }; return new fb.ResourceBase(res); }; var changeObjektTaggar = function (add: number, changeObjektTaggWO: fb.ChangeMaeklarObjektTaggWO): fb.ResourceBase { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.SAVE, 'changeObjektTaggar')) }; return new fb.ResourceBase(res); }; var aendraMaeklareTill = function (personId: number, maeklarObjektIdn: number[]): fb.ResourceBase { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.SAVE, 'aendraMaeklareTill' + personId)) }; return new fb.ResourceBase(res); }; var duplicera = function (dupliceraMaeklarobjekt: fb.DupliceraMaeklarobjektWO): fb.MaeklarObjektDO { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.ADD, 'duplicera')) }; return new fb.MaeklarObjektDO(res); }; var startaAnnonseringFoerProjekt = function (startaAnnonseringFoerProjektWO: fb.IStartaAnnonseringFoerProjektWO): fb.ResourceBase{ var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.ADD, 'startaAnnonseringFoerProjekt ')) }; return new fb.ResourceBase(res); }; var laenkarTillExternaSite = function (maeklarObjektId: number): fb.MaeklarObjekt_MaeklarObjektLaenkarTillExternaSiterWO { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.GET, '' + maeklarObjektId)) }; return new fb.MaeklarObjekt_MaeklarObjektLaenkarTillExternaSiterWO(res); }; var laenkarTillExternaSiteFull = function (maeklarObjektId: number, kontorsnummer: number): fb.MaeklarObjekt_MaeklarObjektLaenkarTillExternaSiterWO { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.GET, '' + maeklarObjektId + kontorsnummer)) }; return new fb.MaeklarObjekt_MaeklarObjektLaenkarTillExternaSiterWO(res); }; var valideraObjektStatusFoerArkivering = function (status: number, uppdragtyp: string): boolean { return true; } var getProjektInfo = function (maeklarObjektId: number): fb.ProjektInfo { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.GET, 'ProjektInfo' + maeklarObjektId)) }; return new fb.ProjektInfo(res); }; var getDigitalBudgivningMobil = function (maeklarObjektId: number): fb.MaeklarObjektDO { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.GET, 'DigitalBudgivningMobil' + maeklarObjektId)) }; return new fb.MaeklarObjektDO(res); } var getUppdragStatusSpecifikation = function (maeklarObjektId: number): fb.MaeklarObjekt_UppdragStatusSpecifikationWO { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.GET, 'UppdragStatusSpecifikation' + maeklarObjektId)) }; return new fb.MaeklarObjekt_UppdragStatusSpecifikationWO(res); } var updateUppdragStatusSpecifikationPaaAktuelltObjekt = function (maeklarObjekt: fb.MaeklarObjektDO): void { return; } return { get: get, query: query, add: add, save: save, getOenObjektTyp: getOenObjektTyp, arkivera: arkivera, aktivera: aktivera, changeObjektTaggar: changeObjektTaggar, aendraMaeklareTill: aendraMaeklareTill, duplicera: duplicera, remove: remove, resolve: resolve, reject: reject, getPendingRequests: getPendingRequests, startaAnnonseringFoerProjekt: startaAnnonseringFoerProjekt, laenkarTillExternaSite: laenkarTillExternaSite, laenkarTillExternaSiteFull: laenkarTillExternaSiteFull, validation: { valideraObjektStatusFoerArkivering: valideraObjektStatusFoerArkivering, valideraObjektStatusFoerBorttag: valideraObjektStatusFoerArkivering }, getProjektInfo: getProjektInfo, getDigitalBudgivningMobil: getDigitalBudgivningMobil, getUppdragStatusSpecifikation: getUppdragStatusSpecifikation, updateUppdragStatusSpecifikationPaaAktuelltObjekt: updateUppdragStatusSpecifikationPaaAktuelltObjekt, getKontrolleraNyckelNummer(nyckelNummer: string, maeklarObjektId: number): Array { throw new Error("Not implemented"); }, putTaBortNyckelNummerFraanAllaObjekt(nyckelNummer: string, maeklarObjektId: number ): boolean { throw new Error("Not implemented"); } }; }]);