/// <reference path="GO.Kunde.ts" />

import GO = DemoKunden.GO;

// Module
module DemoKunden.GL {

 var Orte: string[] = ["Essen", "Berlin", "Hamburg", "Muenchen", "Koeln"];
 var Namen: string[] = ["Meier", "Berger", "Schulze", "Becker"];
 var Voramen: string[] = ["Markus", "Michael", "Thomas", "Tanja", "Anja", "Anne"];

 function createTestData() {
  // Zufallsobjekte erzeugen
  for (var i: number = 0; i < 100; i++) {
   var Zufall1: number = (Math.round((Math.random() * 4)));
   var Zufall2: number = (Math.round((Math.random() * 3)));
   var Zufall3: number = (Math.round((Math.random() * 5)));
   // document.write(Zufall.toString() + "<br>");
   var k1: GO.Kunde;
   var k2: GO.IKontakt;
   var k3: GO.IKontakt = new GO.Kunde(i, Voramen[Zufall3] + " " + Namen[Zufall2], Orte[Zufall1]);
  } // end for
 } // end function

 // Class
 export class KundenManager {

  constructor() {
   // Testdaten erzeugen statt Zugriff auf echte Datenquelle
   createTestData();
  }


/**
Holt alle Kunden von einem Ort, nach dem gefiltert werden soll
@param ort Wohnort des Kunden
*/
  getAll(ort: string = ""): Array<GO.Kontakt> {


   // Zugriff auf Liste
   var liste: Array<GO.Kontakt> = GO.Kunde.alleKontakte;

   // Filtern
   if (ort != "") { liste = liste.filter((x: GO.Kunde) => x.ort == ort) };

   return liste;
  }

 }

}

