private void btnContactAdd_Click(object sender, System.EventArgs e) { //TODO: validar contacto if (this.txtContacto.Text != null && //esto, this.txtContacto.Text != string.Empty && //esto this.txtContacto.Text.IndexOf(" ") == -1 && //y esto se va a ir cuando se agregue la validación correcta this.lstTipoContactos.SelectedValue != string.Empty) { Usuario usuario = this.GetUsuarioService().Retrieve((int)Session[SessionEntries.UserID]); int tipoId = int.Parse(this.lstTipoContactos.SelectedValue); TipoContacto tipo = this.GetContactoService().RetrieveTipoContacto(tipoId); ContactoUsuario contacto = new ContactoUsuario(tipo, usuario, this.txtContacto.Text); usuario.Contactos.Add(contacto); this.GetUsuarioService().SaveOrUpdate(usuario); this.lstContactos.Items.Add(new ListItem(this.txtContacto.Text, contacto.Id.ToString())); this.txtContacto.Text = string.Empty; this.lstTipoContactos.SelectedIndex = 0; } }
private static void TestContactoUsuario(IApplicationContext ctx) { ISessionFactory sf = (ISessionFactory)ctx.GetObject("sessionFactory"); ISession s = sf.OpenSession(); IUsuarioService usuarioService = (IUsuarioService)ctx.GetObject("usuarioService"); IContactoService contactoService = (IContactoService)ctx.GetObject("contactoService"); Usuario poli = usuarioService.Retrieve(0); foreach (ContactoUsuario cu in poli.Contactos) { Console.WriteLine("({0}) {1}", cu.TipoContacto.Nombre, cu.Nombre); } TipoContacto msn = (TipoContacto)s.Get(typeof(TipoContacto), 1); //contactoService.AgregarContacto(msn, poli, "poligarcia" + DateTime.Now.Millisecond + "@hotmail.com"); ContactoUsuario contactoUsuario = new ContactoUsuario(msn, poli, "poligarcia" + DateTime.Now.Millisecond + "@hotmail.com"); poli.Contactos.Add(contactoUsuario); usuarioService.SaveOrUpdate(poli); }
private void btnContactRemove_Click(object sender, System.EventArgs e) { if (this.lstContactos.SelectedIndex != -1) { //TODO: ver si se puede pasar algo de esta lógica al service! esta tocando índices y no me parece que esté muy bien. Usuario usuario = this.GetUsuarioService().Retrieve((int)Session[SessionEntries.UserID]); int id = int.Parse(this.lstContactos.SelectedValue); ContactoUsuario contactoEncontrado = null; IEnumerator cursor = usuario.Contactos.GetEnumerator(); while (cursor.MoveNext() && contactoEncontrado == null) { if (((ContactoUsuario)cursor.Current).Id == id) { contactoEncontrado = (ContactoUsuario)cursor.Current; } } if (contactoEncontrado != null) { usuario.Contactos.Remove(contactoEncontrado); this.GetUsuarioService().SaveOrUpdate(usuario); this.lstContactos.Items.RemoveAt(this.lstContactos.SelectedIndex); } } }
/// <see cref="IContactoDao.SaveOrUpdate(ContactoUsuario)"/> public void SaveOrUpdate(ContactoUsuario contactoUsuario) { base.SaveOrUpdate(contactoUsuario); }