private void buttonSalva_Click(object sender, EventArgs e) { IPersonale p = (IPersonale)comboBoxAddetto.SelectedItem; if (checkBoxModInd.Checked) { if (string.IsNullOrWhiteSpace(txtIndirizzo.Text)) { MessageBox.Show("Formato nuovo indirizzo non valido, ripristinato il precedente!", "Errore nuovo indirizzo", MessageBoxButtons.OK); } else { Indirizzo ind = new Indirizzo(txtIndirizzo.Text, txtCivico.Text, txtComune.Text, Int32.Parse(txtCAP.Text), txtProvincia.Text, txtNazione.Text); if (comboBoxIndirizzo.SelectedIndex == 0) { p.Residenza = ind; } else { p.Domicilio = ind; } MessageBox.Show("Variazione indirizzo effettuato con successo", "Indirizzo Modificato", MessageBoxButtons.OK); checkBoxModInd.Checked = false; } } if (checkBoxModQualifica.Checked) { { p.Qualifica = (Qualifica)comboBoxQualifica.SelectedItem; MessageBox.Show("Variazione qulifica effettuata con successo", "Qualifica Modificata", MessageBoxButtons.OK); checkBoxModInd.Checked = false; } } }
private void buttonSalva_Click(object sender, EventArgs e) { IPersonale personaSelezionata = (IPersonale)_comboBoxLicenziaAddetto.SelectedItem; PersonaleFactory.GetPersonale(personaSelezionata.Cf).DataLicenziamento = _dateTimePickerDataLicenziamento.Value; this.Hide(); }
// Prende in ingresso una nuova istanza di IPersonale, la inserisce nel dizionario e restiuisce la chiave associata public static void AddPersonale(IPersonale persona) { if (persona == null || Personale.ContainsKey(persona.Cf)) { throw new ArgumentException("Persona gia' definita nel personale"); } else { Personale[persona.Cf] = persona; } }
//Restituisce la masione assegnata all'addetto passato come argomento public Mansione GetAssegnamento(IPersonale persona) { if (persona != null && Assegnamento.ContainsKey(persona)) { return(Assegnamento[persona]); } else { return(null); } }
// Aggiunge la persona passata come parametro al dizionario, associandogli la mansione fornita public void AddAssegnamento(IPersonale persona, Mansione mansione) { if (persona == null || mansione == null || Assegnamento.ContainsKey(persona) || persona.Qualifica < mansione.Incarico) { throw new ArgumentException("persona == null, mansione == null || Alla persona e' gia' stata assegnata una mansione || Persona non abbastanza qualificata per la mansione"); } else { Assegnamento[persona] = mansione; } }
private void buttonRimuoviAdetto_Click(object sender, EventArgs e) { IPersonale rimuovi = (AddettoAllaSicurezza)listBoxAssegnamenti.SelectedItem; if (rimuovi != null) { _buttonSalva.Enabled = false; DisposizionePersonale[(Settore)ListSettoriAperti.SelectedItem].RemoveAddetto(rimuovi); ListSettoriAperti.SetSelected(ListSettoriAperti.SelectedIndex, true); } }
public bool RemovePersonale(IPersonale persona) { foreach (Settore settore in SettoriAperti) { if (GetAssegnamentiSettore(settore) != null) { if (GetAssegnamentiSettore(settore).RemoveAddetto(persona) == true) { return(true); } } } return(false); }
// Dato un settore, una persona e una mansione, inserisce l'assegnazione nel settore public void AddPersonaleSettore(ISettore settore, IPersonale persona, Mansione mansione) { if (settore == null || persona == null || mansione == null || !SettoriAperti.Contains(settore)) { throw new ArgumentException("settore == null || persona == null || mansione == null || Settore passato non aperto"); } foreach (Assegnamenti assegnamento in DisposizionePersonale.Values.ToList()) { if (assegnamento.GetAssegnamento(persona) != null) { throw new ArgumentException("La persona è gia' stata assegnata in un altro settore"); } } DisposizionePersonale[settore].AddAssegnamento(persona, mansione); }
private void AggiornaContestoQualifica() { if (comboBoxAddetto.SelectedItem != null) { IPersonale p = (IPersonale)comboBoxAddetto.SelectedItem; txtQualificaAttuale.Text = p.Qualifica.ToString(); if (comboBoxQualifica.Items.Count == 0) { foreach (Qualifica qualifica in Enum.GetValues(typeof(Qualifica))) { comboBoxQualifica.Items.Add(qualifica); } } } }
private void AggiornaContestoIndirizzo() { if (comboBoxAddetto.SelectedItem != null) { IPersonale p = (IPersonale)comboBoxAddetto.SelectedItem; if (!comboBoxIndirizzo.Items.Contains("Residenza")) { comboBoxIndirizzo.Items.Add("Residenza"); } if (p.HasDomicilio() && !comboBoxIndirizzo.Items.Contains("Domicilio")) { comboBoxIndirizzo.Items.Add("Domicilio"); } else if (!p.HasDomicilio() && comboBoxIndirizzo.Items.Contains("Domicilio")) { comboBoxIndirizzo.Items.Remove("Domicilio"); } if ((string)comboBoxIndirizzo.SelectedItem == "Residenza") { txtIndirizzo.Text = p.Residenza.Via; txtComune.Text = p.Residenza.Comune; txtCivico.Text = p.Residenza.NumCivico; txtProvincia.Text = p.Residenza.Provincia; txtCAP.Text = p.Residenza.Cap.ToString(); txtNazione.Text = p.Residenza.Nazione; } else if ((string)comboBoxIndirizzo.SelectedItem == "Domicilio") { txtIndirizzo.Text = p.Domicilio.Via; txtComune.Text = p.Domicilio.Comune; txtCivico.Text = p.Domicilio.NumCivico; txtProvincia.Text = p.Domicilio.Provincia; txtCAP.Text = p.Domicilio.Cap.ToString(); txtNazione.Text = p.Domicilio.Nazione; } else if (comboBoxIndirizzo.SelectedItem == null) { panelIndirizzo.Visible = false; } } }
public bool RemoveAddetto(IPersonale persona) { return(Assegnamento.Remove(persona)); }