Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }