private void Populate(TreeNode tnSector, DateRange range) { Sector sector = tnSector.Tag as Sector; for (int i = 1; i <= sector.Rows; i++) { TreeNode tnRow = new TreeNode("Riga " + i); tnRow.Tag = i; for (int j = 1; j <= sector.Columns; j++) { Position positionToAdd = new Position(i, j); IBookableItem item = _bCoordinator.GetBookableItem(sector, positionToAdd); TreeNode tnBookableItem; if (item == null) { tnBookableItem = new TreeNode(j + " - nessun elemento"); tnBookableItem.Tag = null; } else { string status = "Occupato"; Color color = Color.Red; bool available = _pCoordinator.IsAvailable(sector, positionToAdd, range); if (available) { status = "Libero"; color = Color.Green; } tnBookableItem = new TreeNode(j + " - " + status + " - " + item.ToString()); tnBookableItem.ForeColor = color; tnBookableItem.Tag = item; foreach (IItem plugin in _iCoordinator.GetAssociableItemOf(item.BaseItem)) { TreeNode tnPluginItem = new TreeNode("Plugin - " + plugin.FriendlyName + "(+€" + plugin.DailyPrice + ")"); tnPluginItem.ForeColor = color; tnPluginItem.Tag = plugin; tnBookableItem.Nodes.Add(tnPluginItem); } } tnRow.Nodes.Add(tnBookableItem); } tnSector.Nodes.Add(tnRow); } }
public void AddPluginItemButtonHandler(Object obj, EventArgs e) { DateRange range = new DateRange(_fromDateTimePicker.Value, _toDateTimePicker.Value); using (SelectItemDialog sd = new SelectItemDialog()) { sd.LoadItems(_iCoord.GetAssociableItemOf(SelectedItem.BaseItem.BaseItem)); if (sd.ShowDialog() == DialogResult.OK) { IItem plugin = sd.SelectedItem; if (plugin != null) { _itemPrenotation.AddPlugin(plugin, range); _pluginListView.Items.Add(plugin.FriendlyName + " (" + range.StartDate.ToShortDateString() + " - " + range.EndDate.ToShortDateString() + ")"); } } else { return; } } }
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); }