protected void Update(Usuario usuario, Persona persona) { PersonaAdapter personaData = new PersonaAdapter(); try { OpenConnection(); SqlTransaction transaction = SqlConn.BeginTransaction(); SqlCommand cmdUpdate; try { cmdUpdate = new SqlCommand( "UPDATE personas SET nombre=@nombre, apellido=@apellido, direccion=@direccion, email=@email, " + "telefono=@telefono, fecha_nac=@fecha_nac, legajo=@legajo, tipo_persona=@tipo_persona, id_plan=@id_plan " + "WHERE id_persona=@id", SqlConn, transaction); cmdUpdate.Parameters.Add("@id", SqlDbType.Int).Value = persona.ID; personaData.CargarParametrosSql(cmdUpdate, persona); cmdUpdate.ExecuteNonQuery(); cmdUpdate = new SqlCommand( "UPDATE usuarios SET nombre_usuario=@nombre_usuario, clave=@clave, habilitado=@habilitado, " + "nombre=@nombre, apellido=@apellido, email=@email, id_persona=@id_persona " + "WHERE id_usuario=@id", SqlConn, transaction); cmdUpdate.Parameters.Add("@id", SqlDbType.Int).Value = usuario.ID; CargarParametrosSql(cmdUpdate, usuario); cmdUpdate.ExecuteNonQuery(); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); Exception ExcepcionManejada = new Exception("Error al actualizar usuario y persona", ex); throw ExcepcionManejada; } } catch (Exception) { throw; } finally { CloseConnection(); } }
protected void Insert(Usuario usuario, Persona persona) { PersonaAdapter personaData = new PersonaAdapter(); try { OpenConnection(); SqlTransaction transaction = SqlConn.BeginTransaction(); SqlCommand cmdInsert; try { cmdInsert = new SqlCommand( "INSERT INTO personas(nombre, apellido, direccion, email, telefono, fecha_nac, legajo, tipo_persona, id_plan)" + "VALUES (@nombre, @apellido, @direccion, @email, @telefono, @fecha_nac, @legajo, @tipo_persona, @id_plan)" + "SELECT @@identity", SqlConn, transaction); personaData.CargarParametrosSql(cmdInsert, persona); persona.ID = decimal.ToInt32((decimal)cmdInsert.ExecuteScalar()); usuario.IdPersona = persona.ID; cmdInsert = new SqlCommand( "INSERT INTO usuarios(nombre_usuario, clave, habilitado, nombre, apellido, email, id_persona)" + "VALUES (@nombre_usuario, @clave, @habilitado, @nombre, @apellido, @email, @id_persona)" + "SELECT @@identity", SqlConn, transaction); CargarParametrosSql(cmdInsert, usuario); usuario.ID = decimal.ToInt32((decimal)cmdInsert.ExecuteScalar()); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); Exception ExcepcionManejada = new Exception("Error al insertar usuario y persona", ex); throw ExcepcionManejada; } } catch (Exception) { throw; } finally { CloseConnection(); } }