• Jueves 28 de Marzo de 2024, 15:08

Autor Tema:  problema con clases y list  (Leído 2343 veces)

kurosawazero

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
problema con clases y list
« en: Sábado 19 de Noviembre de 2016, 10:54 »
0
hola buenas soy nuevo con c# y tengo problemas con un ejercicio con db4o

tengo una clase persona
Código: [Seleccionar]
   public class Persona
    {

           
       
        public virtual string Rut
        {
            get;

            set;

        }
        public virtual int Dv
        {
            get;

            set;

        }


        public virtual string Nombre
        {
            get;

            set;
           
        }

        public virtual string ApellidoP
        {
            get;
            set;
           
        }

        public virtual string ApellidoM
        {
            get;
            set;
           
        }
        public List<Direccion> Direcciones { get; set; }



    }

y tengo una clase direcciones
Código: [Seleccionar]
public class Direccion
    {
       
       
        public int Numero
        {
            get;
            set;
        }



        public string Calle
        {
            get;
            set;
        }
        public string Comuna
        {
            get;
            set;
        }
        public string Region
        {
            get;
            set;
        }



    }

y un formulario con textbox para el ingreso de datos y un boton guardar
con este codigo
Código: [Seleccionar]
private void cmdAgregarPN_Click(object sender, EventArgs e)
        {

                IObjectContainer db = Db4oFactory.OpenFile(@"bd.yap");

                PersonaN P = new PersonaN();
               
             
                P.Nombre = txtNombre.Text;
                P.ApellidoP = txtApellidoP.Text;
                P.ApellidoM = txtApellidoM.Text;
                P.Rut = txtRut.Text;
                P.Dv = Convert.ToInt32(txtDv.Text);
                P.Direcciones[0].Region = txtRegion.Text;
                P.Direcciones[0].Comuna = txtComuna.Text;
                P.Direcciones[0].Calle = txtCalle.Text;
                P.Direcciones[0].Numero = Convert.ToInt32(txtNumero.Text);
               
                try
                {
                    db.Store(P);
                    db.Commit();

                }
                catch (Exception ex)
                {
                    throw;
                }
                finally
                {
                    db.Close();
                }
                MessageBox.Show("Persona Guardada");
                txtNombre.Clear();
                txtApellidoP.Clear();
                txtApellidoM.Clear();
                txtRut.Clear();
                txtDv.Clear();
                txtRegion.Clear();
                txtComuna.Clear();
                txtCalle.Clear();
                txtNumero.Clear();

            }
           
        }
cuando inicio la aplicacion lleno las cajas de texto y al darle al boton agregar me sale el error de la imagen
si reviso los demas parametros como nombre apellido si logran capturar el valor pero al llegar a la parte de direcciones muere

de ante mano muchas gracias por la ayuda
saludos

El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

kurosawazero

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re:problema con clases y list
« Respuesta #1 en: Domingo 20 de Noviembre de 2016, 12:22 »
0
bueno al final encontre solucion para mi problema y trabaje asi el codigo

Código: [Seleccionar]
private void cmdAgregarPN_Click(object sender, EventArgs e)
        {

                IObjectContainer db = Db4oFactory.OpenFile(@"bd.yap");

                PersonaN P = new PersonaN();
                P.Direcciones = new List<Direccion>();
             
                P.Nombre = txtNombre.Text;
                P.ApellidoP = txtApellidoP.Text;
                P.ApellidoM = txtApellidoM.Text;
                P.Rut = txtRut.Text;
                P.Dv = Convert.ToInt32(txtDv.Text);
                P.Direcciones.Add(new Direccion() {Region= txtRegion.Text,Comuna=txtComuna.Text, Calle = txtCalle.Text, Numero = Convert.ToInt32(txtNumero.Text) });
               
                try
                {
                    db.Store(P);
                    db.Commit();

                }
                catch (Exception ex)
                {
                    throw;
                }
                finally
                {
                    db.Close();
                }
                MessageBox.Show("Persona Guardada");
                txtNombre.Clear();
                txtApellidoP.Clear();
                txtApellidoM.Clear();
                txtRut.Clear();
                txtDv.Clear();
                txtRegion.Clear();
                txtComuna.Clear();
                txtCalle.Clear();
                txtNumero.Clear();

            }
           
        }
pero ahora tengo otra duda
si tubiese una clase mas por ejemplo "tipodireccion" y en direccion tuviese public virtual List<tipodireccion> tiposdireccion
como hago para llegar a ella a traves de la clase persona?