angular.module('fbMocks') .factory('domainService', ['$q', function ( $q: ng.IQService ): fb.IMockDomainService { 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 land = { subquery: function (ids: number[]): fb.List { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.QUERY, 'land')) }; return new fb.List(res, fb.Land); }, query: function (): fb.List { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.QUERY, 'land')) }; return new fb.List(res, fb.Land); }, queryForUtlandKontakt: function (): fb.Map { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.QUERY, 'land')) }; return new fb.List(res, fb.Land); } } var foersamling = { get: function (id: number): fb.List { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.GET, 'forsamling' + id.toString())) }; return new fb.List(res, fb.Foersamling); } } var intagskaella = { query: function (): fb.List { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.QUERY, 'intagskaella')) }; return new fb.List(res, fb.Intagskaella); } } var soekbegrepp = { query: function (): fb.List { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.QUERY, 'soekbegrepp')) }; return new fb.List(res, fb.Soekbegrepp); } } var upplatelseform = { query: function (): fb.List { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.QUERY, 'upplatelseform')) }; return new fb.List(res, fb.Upplaatelseform); }, queryByBoendeform: function (): fb.List { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.QUERY, 'upplatelseformByBoendeform')) }; return new fb.List(res, fb.Upplaatelseform); } } var energiklass = { query: function (): fb.List { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.QUERY, 'energiklass')) }; return new fb.List(res, fb.Energiklass); } } var naetbolag = { query: function (): fb.List { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.QUERY, 'naetbolag')) }; return new fb.List(res, fb.Naetbolag); } } var elleverantoer = { query: function (): fb.List { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.QUERY, 'elleverantoer')) }; return new fb.List(res, fb.Elleverantoer); } } var valutakod = { query: function (): fb.List { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.QUERY, 'valutakod')) }; return new fb.List(res, fb.Valutakod); } } var uppdragtyp = { query: function (): fb.List { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.QUERY, 'uppdragtyp')) }; return new fb.List(res, fb.Uppdragtyp); }, queryProjekt: function (): fb.List { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.QUERY, 'uppdragtypProjekt')) }; return new fb.List(res, fb.Uppdragtyp); } }; var objektintressentroll = { query: function (): fb.List { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.QUERY, 'objektintressentroll')) }; return new fb.List(res, fb.ObjektIntressentRoll); } } var koen = { query: function (): fb.List { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.QUERY, 'koen')) }; return new fb.List(res, fb.Koen); } } var amorteringsTyp = { query: function (): fb.List { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.QUERY, 'amorteringsTyp')) }; return new fb.List(res, fb.AmorteringsTyp); } } var laanTyp = { query: function (): fb.List { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.QUERY, 'laanTyp')) }; return new fb.List(res, fb.LaanTyp); } } var pantTyp = { query: function (): fb.List { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.QUERY, 'pantTyp')) }; return new fb.List(res, fb.PantTyp); } } var objetktintressentstatus = { query: function (): fb.List { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.QUERY, 'objetktintressentstatus')) }; return new fb.List(res, fb.ObjektIntressentStatus); } } var objekttypMapping = new fb.ObjekttypMapping(); var medarbetareRollMapping = new fb.MedarbetareRollMapping(); var Intressegrad = { query: function (): fb.List { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.QUERY, 'Intressegrad')) }; return new fb.List(res, fb.Intressegrad); } }; var objekttyper = { queryForProjekt: function (isUtland?: boolean): fb.List { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.QUERY, 'objekttypForProjekt')) }; return new fb.List(res, fb.Objekttyp); }, queryByBoendeformAndUpplaatelseform: function (boendeform: number, upplaatelseform: number, includeProjekt?: boolean, includeBelaegnaISpanien?: boolean): fb.List { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.QUERY, 'objekttypByBoendeformAndUpplaatelseform')) }; return new fb.List(res, fb.Objekttyp); }, queryForInstaellningar: function (isUtland?: boolean): { show: string; val: number }[] { return []; } } var boendeform = { query: function (): fb.List { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.QUERY, 'boendeform')) }; return new fb.List(res, fb.Boendeform); }, queryByKategori: function (): fb.List { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.QUERY, 'boendeformByKategori')) }; return new fb.List(res, fb.Boendeform); } } var bankresumee = { getBankresumeeValdBank: function (): fb.List { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.QUERY, 'bankresumeeValdBank')) }; return new fb.List(res, fb.BankresumeeValdBank); }, getBankresumeeValdBankAnledning: function (): fb.List { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.QUERY, 'bankresumeeValdBankAnledning')) }; return new fb.List(res, fb.BankresumeeValdBankAnledning); } } var getUtoekadeSoekbegreppDomain = {}; var getBanknyttaIgnoreradPgaDomain = {}; var getBankNyttaSvarMaeklarObjekt= {}; var getLaemnarAegtBoendeDomain = [{ Id: -1, Namn: 'Mock' }]; var getCivilstaandDomain = {}; var getGeneral = function (param: string[]) { var res = { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.ADD, 'general')) }; return res; }; var moejlighetOperation = { query: function (): any{ var allowedMoejlighetOperation = {}; allowedMoejlighetOperation[fb.FasITDomain.MoejlighetOperation.DELEGERA] = [ ]; allowedMoejlighetOperation[fb.FasITDomain.MoejlighetOperation.SKJUT_UPP] = [ ]; allowedMoejlighetOperation[fb.FasITDomain.MoejlighetOperation.STRYK] = [ ]; return allowedMoejlighetOperation; }, } var textMallUtanMaeklarObjektId = { query: function (): string[] { return []; }, } var medarbetareRollMapping = new fb.MedarbetareRollMapping(); var getSpraakDomain = function () { return null; }; var getSpraakDomainForUtlandKontakt = function () { return null; }; var toDomainArray = function (objectDomain: any, propName: string): fb.GeneralClass[] { return null; }; var energiDeklUtfoerd = { query: function (): fb.GeneralClass[] { return []; }, } return { land: land, foersamling: foersamling, intagskaella: intagskaella, soekbegrepp: soekbegrepp, upplatelseform: upplatelseform, energiklass: energiklass, naetbolag: naetbolag, elleverantoer: elleverantoer, valutakod: valutakod, uppdragtyp: uppdragtyp, objektintressentroll: objektintressentroll, resolve: resolve, reject: reject, getPendingRequests: getPendingRequests, koen: koen, amorteringsTyp: amorteringsTyp, laanTyp: laanTyp, pantTyp: pantTyp, objetktintressentstatus: objetktintressentstatus, objekttyper: objekttyper, boendeform: boendeform, medarbetareRollMapping: medarbetareRollMapping, Intressegrad: Intressegrad, maeklarObjekt: { converter: function (propName) { return function (mo: fb.MaeklarObjektDO) { return mo[propName].value; } }, domain: function (propName) { return null; }, domainKey: function (propName) { return null; }, domainNameKey: function (propName) { return null; } }, person: { //converter: function (propName) { // return function (mo: fb.MaeklarObjektDO) { // return mo[propName].value; // } //}, domain: function (propName) { return null; }, domainKey: function (propName) { return null; }, domainNameKey: function (propName) { return null; }, converter: function (propName) { return null; } }, bankresumee: bankresumee, getUtoekadeSoekbegreppDomain: getUtoekadeSoekbegreppDomain, getBanknyttaIgnoreradPgaDomain: getBanknyttaIgnoreradPgaDomain, getLaemnarAegtBoendeDomain: getLaemnarAegtBoendeDomain, getCivilstaandDomain: getCivilstaandDomain, getGeneral: getGeneral, moejlighetOperation: moejlighetOperation, textMallUtanMaeklarObjektId: textMallUtanMaeklarObjektId, getSpraakDomain: getSpraakDomain, getSpraakDomainForUtlandKontakt: getSpraakDomainForUtlandKontakt, toDomainArray: toDomainArray, energiDeklUtfoerd: energiDeklUtfoerd, getBankNyttaSvarMaeklarObjekt: getBankNyttaSvarMaeklarObjekt }; }]);