module fb { export class testArray extends ResourceBase { maeklarObjektId: number; [nr: number]: string; constructor(data: any[], maeklarObjektId) { super(data, true); var self = this; self.maeklarObjektId = maeklarObjektId; } getPrimaryKey() { var self = this return 'testArray' + self.maeklarObjektId; } } export class MotivWrapper extends ResourceBase { Arkiverad: ChangeTrack; MotivPropertiesLO: MotivObjekt[]; constructor(data: any) { super(data, false); } } export class Motiv { $promise: any; $resolved: boolean = false; Objekten: MotivObjekt[]; ObjektenArray: any; //MotivObjektArray, MotivObjektForNaeromraadenArray constructor(data: any) { //super(data, false); var self = this; self.Objekten = []; if (data !== 'undefined') { if (data.$promise) { self.$promise = data.$promise; self.$promise.then(function (res) { self.$resolved = true; for (var i: number = 0; i < res.length; i++) { self.Objekten.push(new fb.MotivObjekt(res[i])); } }); } else { self.$resolved = true; for (var i: number = 0; i < data.length; i++) { if (data[i]) { self.Objekten.push(new fb.MotivObjekt(data[i])); } } } } } } export class MotivIdArray extends ResourceBase { id: number; type: fb.BildHanteringEnum; motivObjektId: ChangeTrack[]; public static $rootName = "motivIdArray"; constructor(data: ChangeTrack[], id,type:fb.BildHanteringEnum) { super(data, false, 'motivIdArray', false); var self = this; self.id = id; self.type = type; } init(initData, changeTrack) { var self = this; if (initData instanceof Array) { for (var i: number = 0; i < initData.length; i++) { self[i] = initData[i]; } } } getPrimaryKey() { var self = this return self.id; } getForeignKeyObject(): fb.IForeignKeyObject { var entity; switch (this.type) { case fb.BildHanteringEnum.MAEKLAROBJEKT: case fb.BildHanteringEnum.MAEKLAROBJEKT_OEVRIG: case fb.BildHanteringEnum.PROJEKT: entity = fb.ForeignKeyEntity.MAEKLAROBJEKT; break; case fb.BildHanteringEnum.NAEROMRAADEN: entity = fb.ForeignKeyEntity.NAEROMRAADE; break; case fb.BildHanteringEnum.PERSON: entity = fb.ForeignKeyEntity.KONTAKT; break; default: throw 'Saknade godkänd typ'; } return { entity: entity, key: this.id } } } export class MotivObjekt extends ResourceBase { MaeklarObjektId: ChangeTrack; MotivId: ChangeTrack; KategoriId: ChangeTrack; BildUrl: ChangeTrack; MotivText: ChangeTrack; Filaendelse: ChangeTrack; SfdOrdning: ChangeTrack; HemnetOrdningsnummer: ChangeTrack; SkallVisasPaaObjektPresentationen: ChangeTrack; NaeromraadeInfoId: ChangeTrack; PersonId: ChangeTrack; public static $rootName = 'motivObjekt'; constructor(data: any) { if (_.isEmpty(data) === false) { super(data, true, 'motivObjekt'); if (this.KategoriId && this.KategoriId.value === 11) { this.KategoriId.value = 10; } } } isHidden(): boolean { return this.SkallVisasPaaObjektPresentationen.value; } getPrimaryKey(): any { return this.MotivId.value; } getForeignKeyObject(): fb.IForeignKeyObject { var entity; var key; if (this.MaeklarObjektId.value) { entity = fb.ForeignKeyEntity.MAEKLAROBJEKT; key = this.MaeklarObjektId.value; } else if (this.PersonId.value) { entity = fb.ForeignKeyEntity.KONTAKT; key = this.PersonId.value; } else if (this.NaeromraadeInfoId.value) { entity = fb.ForeignKeyEntity.NAEROMRAADE; key = this.NaeromraadeInfoId.value; } else { throw "Finns inget id på entiteten"; } return { entity: entity, key: key } } } }