private void SpawnPrenotationCreator() { PrenotationCreatorView prenotationCreatorView = new PrenotationCreatorView(); AddInformation(prenotationCreatorView); new PrenotationCreatorPresenter(prenotationCreatorView); prenotationCreatorView.Show(); }
public PrenotationCreatorPresenter(PrenotationCreatorView view) { #region Precondizioni if (view == null) { throw new ArgumentNullException("view null"); } #endregion _itemsPrenotation = new List <ICustomizableItemPrenotation>(); _bundles = new List <IBundle>(); _packets = new List <IPacket>(); _fromDateTimePicker = view.FromDateTimePicker; _toDateTimePicker = view.ToDateTimePicker; _itemPrenotationListView = view.ItemPrenotationListView; _bundleListView = view.BundleListView; _createButton = view.CreateButton; _clearButton = view.ClearButton; _packetListView = view.PacketListView; _trackingDeviceLabel = view.TrackingDeviceLabel; _customerComboBox = view.CustomerComboBox; _associateTrackingDeviceButton = view.AssociateTrackingDeviceButton; _errorProvider = view.ErrorProvider; _view = view; // init handler _clearButton.Click += ClearHandler; _view.AbortButton.Click += CancelButtonHandler; _createButton.Click += CreateButtonHandler; _fromDateTimePicker.ValueChanged += FromDateChangedHandler; _toDateTimePicker.ValueChanged += ToDateChangedHandler; _customerComboBox.SelectedIndexChanged += CustomerChangedHandler; _associateTrackingDeviceButton.Click += AddTrackingDeviceButtonHandler; _view.AddBundleButton.Click += AddBundlesButtonHandler; _view.AddPacketButton.Click += AddPacketsButtonHandler; _view.AddItemPrenotationButton.Click += AddItemPrenotationButtonHandler; // init componenti _customerComboBox.DropDownStyle = ComboBoxStyle.DropDownList; _customerComboBox.DisplayMember = "DisplayInfo"; _fromDateTimePicker.MinDate = DateTime.Now.Date; _authLevel = view.RetrieveTagInformation <AuthorizationLevel>("authorizationLevel"); if (_authLevel == AuthorizationLevel.GUEST) { throw new InvalidOperationException("Gli utenti GUEST non posso effettuare prenotazioni"); } if (_authLevel == AuthorizationLevel.CUSTOMER) { _view.CustomerLabel.Visible = false; _view.CustomerLabel.Enabled = false; _loginInfo = view.RetrieveTagInformation <ILoginInformation>("loginInformation"); _customer = (from u in _uCoord.RegisteredUsers where (u is ICustomer && u.Username.Equals(_loginInfo.Username)) select u as ICustomer).FirstOrDefault(); if (_customer == null) { MessageBox.Show("Non risultato registrato come cliente nel sistema. Chiama lo staff"); _view.Close(); } _customerComboBox.Items.Add(_customer); _customerComboBox.SelectedIndex = 0; _customerComboBox.Enabled = false; } if (_authLevel >= AuthorizationLevel.BASIC_STAFF) { _customerComboBox.Items.Clear(); foreach (ICustomer c in _uCoord.Customers) { _customerComboBox.Items.Add(c); } if (_customerComboBox.Items.Count > 0) { _customerComboBox.SelectedIndex = 0; } } _createButton.Enabled = false; _clearButton.Enabled = false; }