public static Item BuildItem(String titel, DragerType type) { ItemsRepository _ir = ItemsRepository.GetInstance(); int _id = _ir.GetNextId(); Item item = null; switch (type) { case DragerType.Boek: item = new Boek(titel, _id); break; case DragerType.CD: item = new CD(titel, _id); break; } if (item != null) { _ir.AddEntity(item); } else { throw new ArgumentException(); } return(item); //heeft nu ook een Id! }
//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); }