in the value assignment gives me null but in the id I have 1

1

We are doing a system of a bar in the faculty, all right up here, but when I want to go to modify or eliminate an employee I get an error, in the photos this link

link

link

attached photos of the code

WHERE THE ERROR IS JUMPING

public override void EjecutarModificar()
    {
        base.EjecutarModificar();
        if (PuedeEjecutarComando)
        {
            var fEmpleadoAbm = new _00002_ABM_Empleados(TipoOperacion.Modificar, EntidadId);
            fEmpleadoAbm.ShowDialog();
        }
    }

PARTIAL ABM EMPLOYEE

 public partial class _00002_ABM_Empleados : FormularioABM
{
    private readonly IEmpleadoServicio _empleadoServicio;
    private readonly IProvinciaServicio _provinciaServicio;
    private readonly ILocalidadServicio _localidadServicio;


    public _00002_ABM_Empleados(TipoOperacion tipoOperacion, long? entidadId = null)
        : base(tipoOperacion, entidadId)
    {
        InitializeComponent();
        _empleadoServicio = new EmpleadoServicio();
        _provinciaServicio = new ProvinciaServicio();
        _localidadServicio = new LocalidadServicio();

        if (tipoOperacion == TipoOperacion.Eliminar 
            || tipoOperacion == TipoOperacion.Modificar)
        { 
            CargarDatos(entidadId);
        }

        if (tipoOperacion == TipoOperacion.Eliminar)
        {
            DesactivarControles(this);

        }

    }

    public override void DesactivarControles(object obj)
    {
        base.DesactivarControles(obj);
        btnLimpiar.Enabled=false;
    }


}



public partial class _00002_ABM_Empleados
{
    private void CmbPronvincia_SelectionChangeCommitted(object sender, EventArgs e)
    {
        if (CmbPronvincia.Items.Count > 0)
        {

            CargarCombox(cbmLocalidad, _localidadServicio.Obtener(((PronviciaDto)cbmLocalidad.SelectedItem).id,
                string.Empty), "Descripcion", "id");
        }
    }
    public override void CargarDatos(long? entidadId)
    {
        try
        {
            if (entidadId.HasValue)
            {
                //Obtengo los datos del empleado de la BD
                var empleado = _empleadoServicio.obtenerPorId(entidadId.Value);

                if (empleado != null)
                {
                    //Asignar los datos a los controles del Formulario
                    NudLegajo.Maximum = 1;
                    NudLegajo.Maximum = 99999999;
                    NudLegajo.Value = empleado.Legajo;

                    txtApellido.Text = empleado.Apellido;
                    txtNombre.Text = empleado.Nombre;
                    txtDni.Text = empleado.Dni;
                    TxtTelefono.Text = empleado.Telefono;
                    TxtCorreo.Text = empleado.EMail;
                    TxtCuil.Text = empleado.Cuil;
                    dtpFechaNacimiento.Value = empleado.FechaNacimiento;
                    //   ImgEmpleado.Image= //falta agregar imagen

                    //Datos direccion
                    TxtCalle.Text = empleado.Calle;
                    TxtNumero.Text = empleado.Numero.ToString();
                    TxtPiso.Text = empleado.Piso;
                    TxtDpto.Text = empleado.Dpto;
                    TxtLote.Text = empleado.Lote;
                    TxtManzana.Text = empleado.Mnza;
                    TxtBarrio.Text = empleado.Barrio;

                    CargarCombox(CmbPronvincia, _provinciaServicio.Obtener(string.Empty),
                        "Descripcion", "Id");

                    CmbPronvincia.SelectedItem = empleado.ProvinciaId;

                    if (CmbPronvincia.Items.Count >0)
                    {
                        CargarCombox(cbmLocalidad, _localidadServicio.Obtener
                            (empleado.ProvinciaId, string.Empty), "Descripcion", "Id");

                    }

                }

EMPLOYEE SERVICE

 public IEnumerable<EmpleadoDto> Obtener(string cadenaBuscar)
    {
        using (var context = new ModeloXCommerceContainer())
        {
            return context.Personas.OfType<AccesoDatos.Empleado>()
                .AsNoTracking()
                .Include(x=>x.Direccion)
                .Include(x => x.Direccion.Localidad)
                .Where(x => x.Nombre.Contains(cadenaBuscar)
                            || x.Apellido.Contains(cadenaBuscar)
                            || x.Dni == cadenaBuscar
                            || x.Email == cadenaBuscar)
                .Select(x => new EmpleadoDto
                {
                    Id = x.Id,
                    Legajo = x.Legajo,
                    Apellido = x.Apellido,
                    Nombre = x.Nombre,
                    Dni = x.Dni,
                    Telefono = x.Telefono,
                    Celular = x.Celular,
                    EMail = x.Email,
                    Cuil = x.Cuil,
                    FechaNacimiento = x.FechaNacimiento,
               //     Foto = x.Foto,
                    Calle = x.Direccion.Calle,
                    Numero = x.Direccion.Numero,
                    Piso = x.Direccion.Piso,
                    Dpto = x.Direccion.Dpto,
                    Casa = x.Direccion.Casa,
                    Lote = x.Direccion.Lote,
                    Barrio = x.Direccion.Barrio,
                    Mnza = x.Direccion.Mza,
                    LocalidadId = x.Direccion.LocalidadId,
                    ProvinciaId = x.Direccion.Localidad.ProvinciaId
                }).ToList();
        }
    }

    public EmpleadoDto obtenerPorId(long? empleadoId)
    {
        using (var context=new ModeloXCommerceContainer())
        {
            return context.Personas.OfType<AccesoDatos.Empleado>()
                .Select(x => new EmpleadoDto
                {
                    Id = x.Id,
                    Legajo = x.Legajo,
                    Apellido = x.Apellido,
                    Nombre = x.Nombre,
                    Dni = x.Dni,
                    Telefono = x.Telefono,
                    Celular = x.Celular,
                    EMail = x.Email,
                    Cuil = x.Cuil,
                    FechaNacimiento = x.FechaNacimiento,
                    Foto = x.Foto,
                    Calle = x.Direccion.Calle,
                    Numero = x.Direccion.Numero,
                    Piso = x.Direccion.Piso,
                    Dpto = x.Direccion.Dpto,
                    Casa = x.Direccion.Casa,
                    Lote = x.Direccion.Lote,
                    Barrio = x.Direccion.Barrio,
                    Mnza = x.Direccion.Mza,
                    LocalidadId = x.Direccion.LocalidadId,
                    ProvinciaId = x.Direccion.Localidad.ProvinciaId

                }).FirstOrDefault(x => x.Id == empleadoId);


        }
    }
}

}

    
asked by Luis Patricio Medina Varga 15.10.2018 в 04:29
source

0 answers