void EliminaButton_Click(object sender, EventArgs e) { try { if (Mails.Count > 0) { throw new ArgumentException("Devi prima rimuovere tutti i membri"); } while (Gruppo.MembriGruppo.Count > 0) { Gruppo.RimuoviMembro(Gruppo.MembriGruppo[0].Mail); } Observer.AggiornaUI(); GruppoForm.DialogResult = DialogResult.OK; } catch (ArgumentException ae) { GruppoForm.ErrorProvider.SetError(GruppoForm.EliminaButton, ae.Message); } }
private void ConfermaButton_Click(object sender, EventArgs e) { GruppoForm.ErrorProvider.Clear(); try { if (Mails.Count == 0) { throw new ArgumentException("Inserisci almeno un'altro utente", "membro"); } Gruppo.Nome = GruppoForm.NomeGruppoTextBox.Text; Gruppo.Foto = GruppoForm.PictureBox.ImageLocation; int i; for (i = 0; i < Gruppo.MembriGruppo.Count; i++) { int j; for (j = 0; j < Mails.Count; j++) { if (Gruppo.MembriGruppo[i].Mail.Equals(Mails[j].Text)) { break; } } if (j < Mails.Count) { continue; } Gruppo.RimuoviMembro(Gruppo.MembriGruppo[i].Mail); i--; } for (int j = i; j < Mails.Count; j++) { if (Mails[j].Text.Equals("")) { throw new ArgumentException("Inserisci una mail", "membro"); } Utente utente = GestoreUtenti.Instance.GetUtente(Mails[j].Text); if (utente == null) { throw new ArgumentException("Utente " + Mails[j].Text + " inesistente", "membro"); } Gruppo.AggiungiMembro(utente); } Gruppo.AggiungiMembro(Utente); Observer.AggiornaUI(); GruppoForm.DialogResult = DialogResult.OK; } catch (ArgumentException ae) { Control control; switch (ae.ParamName) { case "nome": control = GruppoForm.NomeGruppoTextBox; break; case "membro": control = GruppoForm.AggiungiPersonaLinkLabel; break; case "file": control = GruppoForm.FileLabel; break; default: GruppoForm.ErrorProvider.SetIconAlignment(GruppoForm.ConfermaButton, ErrorIconAlignment.MiddleLeft); control = GruppoForm.ConfermaButton; break; } GruppoForm.ErrorProvider.SetError(control, string.IsNullOrEmpty(ae.ParamName) ? ae.Message : ae.Message.Substring(0, ae.Message.IndexOf('\n'))); } }