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
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);
}
}
}
}