Beispiel #1
0
 //constructor
 public Controller()
 {
     //initialiseer de connectie van de persistence laag
     Persistence.Controller.ConnectToDB();
     //laad alle basisgegevens in de repositories
     _itemsRepository = ItemsRepository.GetInstance();
     //_itemsRepository.Entities = Persistence.Controller.GetItemsFromDB();
     _exemplarenRepository = ExemplarenRepository.GetInstance();
     //_exemplarenRepository.Entities = Persistence.Controller.GetExemplarenFromDB();
     _gebruikersRepository = GebruikersRepository.GetInstance();
     //_gebruikersRepository.Gebruikers = Persistence.Controller.GetGebruikersFromDB();
 }
        public static Exemplaar BuildExemplaar(Int32 itemId)
        {
            //controle geldige argumenten
            ItemsRepository _ir   = ItemsRepository.GetInstance();
            Item            _item = _ir.Entities.Find(i => i.Id == itemId);

            if (_item == null)
            {
                throw new ArgumentException("Deze titel is onbekend");
            }

            //bepaal Id voor het nieuwe exemplaar
            ExemplarenRepository _er = ExemplarenRepository.GetInstance();
            int _id = _er.GetNextId();

            //nieuw exemplaar aanmaken
            Exemplaar _ex = new Exemplaar(itemId, _id, OntleenStatus.Beschikbaar);

            //nieuwe exemplaar in repository plaatsen (+ persistentie)
            _er.AddEntity(_ex);

            //return
            return(_ex);
        }