module fb { export class PersonSearchChangeTrack { Personnamn: fb.ChangeTrack; PersonId: fb.ChangeTrack; Foernamn: fb.ChangeTrack; // Används denna? Mellannamn: fb.ChangeTrack; Efternamn: fb.ChangeTrack; // Används denna? Personnummer: fb.ChangeTrack; TelefonMobil: fb.ChangeTrack;//Vi delar upp arrayer till objekt attribut TelefonBostad: fb.ChangeTrack; TelefonArbete: fb.ChangeTrack; Epost: fb.ChangeTrack; Adress: fb.ChangeTrack; Postnummer: fb.ChangeTrack; Ort: fb.ChangeTrack; // Utlandskontor NationalitetId: fb.ChangeTrack; SpraakId: fb.ChangeTrack; KundTyp: KundTyp; // null om fysisk person JurPersontyp: fb.ChangeTrack; constructor(data: any) { if (!data) { data = {}; } this.PersonId = new fb.ChangeTrack(data.PersonId || null); this.Personnamn = new fb.ChangeTrack(data.Personnamn || null); this.Foernamn = new fb.ChangeTrack(data.Foernamn || null); this.Mellannamn = new fb.ChangeTrack(data.Mellannamn || null); this.Efternamn = new fb.ChangeTrack(data.Efternamn || null); this.Personnummer = new fb.ChangeTrack(data.Personnummer || null); this.TelefonMobil = new fb.ChangeTrack(data.TelefonMobil || null); this.TelefonBostad = new fb.ChangeTrack(data.TelefonBostad || null); this.TelefonArbete = new fb.ChangeTrack(data.TelefonArbete || null); this.Epost = new fb.ChangeTrack(data.Epost || null); this.Adress = new fb.ChangeTrack(data.Adress || null); this.Postnummer = new fb.ChangeTrack(data.Postnummer || null); this.Ort = new fb.ChangeTrack(data.Ort || null); this.NationalitetId = new fb.ChangeTrack(data.NationalitetId || null); this.SpraakId = new fb.ChangeTrack(data.SpraakId || null); this.JurPersontyp = new fb.ChangeTrack(data.JurPersontyp || null); this.KundTyp = new fb.KundTyp({ KundTyp: data.KundTyp || null, AerKundTypSaeljare: data.AerKundTypSaeljare || null, AerKundTypKoepare: data.AerKundTypKoepare || null }); this.validation(); } validation() { this.Personnamn.maxLength = 250; this.Foernamn.maxLength = 40; this.Efternamn.maxLength = 40; this.Mellannamn.maxLength = 40; var telefonnummerRegExp = '(?=^(00[1-9]|0[1-9]|\\+46\\s*[1-9]|\\+[1-35-9]|\\+4[^6])[\\d\\s\\-]+$)(^.{7,20}$)'; this.TelefonMobil.regex = new RegExp(telefonnummerRegExp); this.TelefonMobil.minLength = 7; this.TelefonMobil.maxLength = 20; this.TelefonBostad.regex = new RegExp(telefonnummerRegExp); this.TelefonBostad.minLength = 7; this.TelefonBostad.maxLength = 20; this.TelefonArbete.regex = new RegExp(telefonnummerRegExp); this.TelefonArbete.minLength = 7; this.TelefonArbete.maxLength = 20; this.Epost.regex = new RegExp('^[A-Za-z0-9_+-]+(\\.[A-Za-z0-9_+-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9-]+)*\\.[A-Za-z]{2,}$'); this.Epost.maxLength = 250; //Adress this.Postnummer.maxLength = 15; this.Ort.maxLength = 35; } isValid(): boolean { return fb.changeTrackValid(this.Personnamn) && fb.changeTrackValid(this.Foernamn) && fb.changeTrackValid(this.Efternamn) && fb.changeTrackValid(this.Mellannamn) && fb.changeTrackValid(this.TelefonMobil) && fb.changeTrackValid(this.TelefonBostad) && fb.changeTrackValid(this.TelefonArbete) && fb.changeTrackValid(this.Epost) && fb.changeTrackValid(this.Postnummer) && fb.changeTrackValid(this.Ort); } } }