public string eliminarPersona(int id) { Persona persona; Direccion direccion; OpDireccion opDireccion = new OpDireccion(); string resultadoOperacion = ""; int exito = 0; try { persona = obtenerDatosPersona(id); direccion = opDireccion.obtenerDireccionId(persona.IdFkDireccion); using (PruebaTecnicaEntities dbo = new PruebaTecnicaEntities()) { var listaTelefonos = dbo.Telefono.Where(tel => tel.IdFkPersona == persona.Id); dbo.Telefono.RemoveRange(listaTelefonos); dbo.Direccion.Attach(direccion); dbo.Persona.Attach(persona); dbo.Entry(direccion).State = EntityState.Deleted; dbo.Entry(persona).State = EntityState.Deleted; exito = dbo.SaveChanges(); resultadoOperacion = exito > 0 ? "Éxito al eliminar persona" : "Error inesperado"; } } catch (Exception ex) { resultadoOperacion = ex.Message; } return(resultadoOperacion); }
public string actualizarDatosPersona(Persona personaActualizar, Direccion direccionActualizar, int id) { Persona persona; Direccion direccion; OpDireccion opDireccion; string resultadoOperacion = ""; int exito = 0; int idFkDireccion = 0; try { opDireccion = new OpDireccion(); using (PruebaTecnicaEntities dbo = new PruebaTecnicaEntities()) { persona = dbo.Persona.Find(id); agregarValoresPersona(persona, personaActualizar); idFkDireccion = persona.IdFkDireccion; direccion = dbo.Direccion.Find(idFkDireccion); opDireccion.agregarValoresDireccion(direccion, direccionActualizar); persona.Direccion = direccion; exito = dbo.SaveChanges(); resultadoOperacion = exito > 0 ? "Actualización exitosa de la persona, registros afectados: " + exito : "No se actualizó ningun registro"; } } catch (Exception ex) { resultadoOperacion = ex.Message; } return(resultadoOperacion); }