module fb { export class JournalPunkt extends ResourceBase implements IJournalPunktKategoriKey { JournalPunktDataId: ChangeTrack; // Null om inget journalpunktdata finns MaeklarObjektId: ChangeTrack; // Endast DO JournalPunktTypId: ChangeTrack; JournalPunktTypNamn: ChangeTrack; JournalPunktTypSynligtNamn: ChangeTrack; // hämtas från data om punkten är skapad av användaren JournalPunktKategoriTypId: ChangeTrack; AnteckningObligatorisk: ChangeTrack; Laenk: ChangeTrack; DatumValTyp: ChangeTrack; // domänvärde, ej bestämt vilka domänvärden som ska finnas än AnsvarigPersonId: ChangeTrack; // Null om inget journalpunktdata finns JournalPunktStatus: ChangeTrack; // Null om inget journalpunktdata finns. Utförd, ej utförd (default) UtfoerdDatum: ChangeTrack; // Null om inget journalpunktdata finns Anteckning: ChangeTrack; // Null om inget journalpunktdata finns VisningId: ChangeTrack; // Endast satt för punkter avseende visningar Ordning: ChangeTrack; VisningsTyp: ChangeTrack; // Vymodell, sätts i JournalSideDrawerCtrl, tyvärr :/ public static $rootName = 'JournalPunkt'; public static createNew(): JournalPunkt { return new JournalPunkt({ JournalPunktDataId: null, MaeklarObjektId: null, JournalPunktTypId: null, JournalPunktTypNamn: null, JournalPunktTypSynligtNamn: null, JournalPunktKategoriId: null, AnteckningObligatorisk: null, Laenk: null, DatumValTyp: null, AnsvarigPersonId: null, JournalPunktStatus: null, UtfoerdDatum: null, Anteckning: null, Ordning: null }); } constructor(data: any, changeTrack?: boolean, rootName?: string, isArray?: boolean) { super(data, changeTrack, rootName || JournalPunkt.$rootName, isArray); if (angular.isDefined(this.JournalPunktTypNamn)) { this.JournalPunktTypNamn.ignoreMerge = true; } if (angular.isDefined(this.JournalPunktTypSynligtNamn)) { this.JournalPunktTypSynligtNamn.ignoreMerge = true; } } init(initData: any, changeTrack) { initData.DatumValTyp = initData.DatumValTyp || 0; super.init(initData, changeTrack); if (angular.isDefined(this.JournalPunktTypNamn)) { this.JournalPunktTypNamn.ignoreMerge = true; } if (angular.isDefined(this.JournalPunktTypSynligtNamn)) { this.JournalPunktTypSynligtNamn.ignoreMerge = true; } } getPrimaryKey(): any { return this.JournalPunktDataId.value; } getForeignKeyObject(): fb.IForeignKeyObject { return { entity: fb.ForeignKeyEntity.MAEKLAROBJEKT, key: this.MaeklarObjektId.value } } getSaveObject(): any { var saveObject = super.getSaveObject(); if (saveObject.VisningsTyp !== 2) { delete saveObject.JournalPunktTypSynligtNamn; } return saveObject; } } }