public void CreateButtonHandler(Object obj, EventArgs e) { _errorProvider.Clear(); try { DateRange range = new DateRange(_fromDateTimePicker.Value, _toDateTimePicker.Value); ICustomizableServizablePrenotation prenotation = new CustomizableServizablePrenotation(_customer, range, _itemsPrenotation, _baseTrackingDevice, _desc, _packets, _bundles); _pCoord.AddPrenotation(prenotation); _tdCoord.LockTrackingDevice(prenotation as IServizablePrenotation); MessageBox.Show("Prenotazione creata corretamente"); _view.Close(); } catch (Exception exception) { MessageBox.Show("Impossibile creare la prenotazione per il seguente motivo: " + exception.Message); } }
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); }