private void SpawnItemCreator() { IItemCoordinator iCoord = CoordinatorManager.Instance.CoordinatorOfType <IItemCoordinator>(); ItemCreatorView itemCreatoreView = new ItemCreatorView(); AddInformation(itemCreatoreView); new ItemCreatorPresenter(itemCreatoreView, iCoord.AddItem, () => iCoord.Items as IEnumerable <IItem>); itemCreatoreView.Show(); }
public StructureManagerPresenter(StructureManagerView view) { _view = view; view.AddButton.Click += AddHandler; _structureTree = view.TreeView; _structureTree.AfterSelect += ItemSelectedHandler; IStructureCoordinator sCoordinator = CoordinatorManager.Instance.CoordinatorOfType <IStructureCoordinator>(); if (sCoordinator == null) { throw new InvalidOperationException("Il coordinatore delle strutture non è disponibile"); } _bCoordinator = CoordinatorManager.Instance.CoordinatorOfType <IBookingCoordinator>(); if (_bCoordinator == null) { throw new InvalidOperationException("Il coordinatore deli Bookable Items non è disponibile"); } _pCoordinator = CoordinatorManager.Instance.CoordinatorOfType <IPrenotationCoordinator>(); if (_bCoordinator == null) { throw new InvalidOperationException("Il coordinatore delle prenotations non è disponibile"); } _iCoordinator = CoordinatorManager.Instance.CoordinatorOfType <IItemCoordinator>(); if (_bCoordinator == null) { throw new InvalidOperationException("Il coordinatore degli items non è disponibile"); } _structures = sCoordinator.Structures; sCoordinator.StructureChanged += StructureChangedHandler; _fromDateBox = view.FromDate; _toDateBox = view.ToDate; _fromDateBox.ValueChanged += DateChanged; try { _level = view.RetrieveTagInformation <AuthorizationLevel>("authorizationLevel"); } catch (Exception e) { //Chiave non disponibile o cast non riuscito } view.AddButton.Enabled = false; view.ModifyButton.Enabled = false; view.DeleteButton.Enabled = false; // Popolo la tree view all'avvio DateChanged(this, EventArgs.Empty); }
protected override void Init() { base.Init(); /* Cerco un file di configurazione delle prenotation nel fileSystem, * se lo trovo carico le prenotation contenute */ /* Prenotations HardCoded */ StructureCoordinator sectorCoord = CoordinatorManager.Instance.CoordinatorOfType <StructureCoordinator>(); Sector mySector = sectorCoord.GetSectorIn("Stabilimento Bologna Via Mario Longhena", "Spiaggia", "Settore base"); Sector mySectorVip = sectorCoord.GetSectorIn("Stabilimento Bologna Via Mario Longhena", "Spiaggia", "Settore vip"); BookingCoordinator bookCoord = CoordinatorManager.Instance.CoordinatorOfType <BookingCoordinator>(); IBookableItem myBookableItem = bookCoord.GetBookableItem(mySector, new Position(1, 3)); IBookableItem myBookableItemVip = bookCoord.GetBookableItem(mySectorVip, new Position(1, 1)); DateRange myRange1 = new DateRange(30); DateRange myRange2 = new DateRange(new DateTime(2017, 08, 10), new DateTime(2017, 08, 15)); ICustomizableItemPrenotation myIItemPrenotation1 = new CustomizableItemPrenotation(myRange1, myBookableItem); ICustomizableItemPrenotation myIItemPrenotation2 = new CustomizableItemPrenotation(myRange2, myBookableItemVip); IItemCoordinator itemCoord = CoordinatorManager.Instance.CoordinatorOfType <IItemCoordinator>(); IItem lettino = itemCoord.GetAssociableItemOf(myBookableItem.BaseItem).First(); myIItemPrenotation1.AddPlugin(lettino, myRange1); myIItemPrenotation1.AddPlugin(lettino, new DateRange(myRange1.StartDate, myRange1.EndDate.AddDays(-2))); IItem lettinoVip = itemCoord.GetAssociableItemOf(myBookableItemVip.BaseItem).First(); IItem lettinoBase = itemCoord.GetAssociableItemOf(myBookableItemVip.BaseItem).ElementAt(1); myIItemPrenotation2.AddPlugin(lettinoVip, myRange2); myIItemPrenotation2.AddPlugin(lettinoBase, myRange2); myIItemPrenotation2.AddPlugin(lettinoBase, myRange2); myIItemPrenotation2.AddPlugin(lettinoBase, myRange2); myIItemPrenotation2.AddPlugin(lettinoBase, myRange2); List <ICustomizableItemPrenotation> myItems = new List <ICustomizableItemPrenotation>(); myItems.Add(myIItemPrenotation1); List <ICustomizableItemPrenotation> myItems2 = new List <ICustomizableItemPrenotation>(); myItems2.Add(myIItemPrenotation2); ITrackingDeviceCoordinator tdCoord = CoordinatorManager.Instance.CoordinatorOfType <TrackingDeviceCoordinator>(); ITrackingDevice myCard = tdCoord.Next; IUserCoordinator userCoord = CoordinatorManager.Instance.CoordinatorOfType <UserCoordinator>(); ICustomer client = userCoord.Customers.Where(c => c.FiscalCode.Equals("CC3")).First(); CustomizableServizablePrenotation myPrenotation = new CustomizableServizablePrenotation(client, myRange1, myItems, myCard, new AssociationDescriptor(myRange1, "CardBase")); tdCoord.LockTrackingDevice(myPrenotation); ITrackingDevice myCard2 = tdCoord.Next; CustomizableServizablePrenotation myPrenotation2 = new CustomizableServizablePrenotation(client, myRange2, myItems2, myCard2, new AssociationDescriptor(myRange2, "CardBase")); tdCoord.LockTrackingDevice(myPrenotation2); ServiceCoordinator serviceCoord = CoordinatorManager.Instance.CoordinatorOfType <ServiceCoordinator>(); myPrenotation.AddPacket(serviceCoord.Packets.ElementAt(0)); myPrenotation.AddBundle(serviceCoord.Bundles.ElementAt(0)); _prenotations.Add(myPrenotation); _prenotations.Add(myPrenotation2); }