protected void btnAggiungi_Click(object sender, EventArgs e) { if (!hidReceivers.Value.Split(';').Contains(cmbNomiSalvati.SelectedValue)) { PersonaggiManagerNew characterManager = new PersonaggiManagerNew(DatabaseContext); hidReceivers.Value += cmbNomiSalvati.SelectedValue + ";"; long numPg = long.Parse(cmbNomiSalvati.SelectedValue); txtDestinatari.Text += characterManager.GetCharacterNameByNumber(numPg) + "; "; } }
/// <summary> /// Viene eseguito quando viene modificato il testo presente nel textbox dei destinatari /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void txtDestinatari_TextChanged(object sender, EventArgs e) { string[] destinparts = txtDestinatari.Text.Split(';'); if (destinparts.Length > 0) { PersonaggiManagerNew characterManager = new PersonaggiManagerNew(DatabaseContext); txtDestinatari.Text = string.Empty; for (int i = 0; i < destinparts.Length; i++) { try { //Qui dentro controllo se è stato aggiunto un NUMERO nella lista long numPg = long.Parse(destinparts[i]); string nameToShow = characterManager.GetCharacterNameByNumber(numPg); destinparts[i] = nameToShow; if (!string.IsNullOrWhiteSpace(nameToShow)) { hidReceivers.Value += numPg + ";"; txtDestinatari.Text += nameToShow + "; "; } } catch { if (!string.IsNullOrWhiteSpace(destinparts[i])) { //long? verifyContact = characterManager.GetCharacterNumberByName(destinparts[i]); //if (verifyContact != null) //{ // txtDestinatari.Text += destinparts[i].Trim() + "; "; //} Personaggio verifyContact = characterManager.GetCharacterByName(destinparts[i]); if (verifyContact != null) { if (!hidReceivers.Value.Split(';').Contains(verifyContact.NumeroPG.ToString())) { hidReceivers.Value += verifyContact.NumeroPG + ";"; } txtDestinatari.Text += verifyContact.Nome + "; "; } } } } //Ora controllo se sono stati ELIMINATI dei nomi, e quindi se devo toglierli dall'hiddenfield string[] numPgs = hidReceivers.Value.Split(';'); List<long> contactsRemained = characterManager.GetCharacterNumbersByNames(txtDestinatari.Text.Split(';')).ToList(); hidReceivers.Value = string.Empty; for (int i = 0; i < numPgs.Length; i++) { if (!string.IsNullOrWhiteSpace(numPgs[i]) && contactsRemained.Contains(long.Parse(numPgs[i]))) { hidReceivers.Value += numPgs[i].Trim() + ";"; } } } }