示例#1
0
// Save guarda un miembro en la base de datos
func (m *Member) Save(teamID int) error {
	_, err := database.DB().Exec("INSERT INTO members (nombres, apellidos, "+
		"tipo_id, numero_id, team) VALUES "+
		"($1, $2, $3, $4, $5)",
		m.Nombres, m.Apellidos, m.TipoID, m.NumeroID, teamID)
	return err
}
示例#2
0
// Save guarda un equipo en la base de datos
func (t *Team) Save() error {
	var teamID int
	err := database.DB().QueryRow("INSERT INTO teams (nombre, proyecto) "+
		"VALUES ($1, $2) RETURNING id", t.Nombre, t.Proyecto).Scan(&teamID)
	if err != nil {
		return err
	}
	c := members.SaveMultiple(t.Miembros, int(teamID))
	for i := 0; i < len(t.Miembros); i++ {
		err = <-c
		if err != nil {
			return err
		}
	}
	return nil
}
示例#3
0
// ForTeam toma una id y busca los miembros pertenecientes
// a ese equipo
func ForTeam(id int) ([]Member, error) {
	rows, err := database.DB().Query("SELECT id, nombres, apellidos, tipo_id,"+
		"numero_id FROM members WHERE team=$1", id)
	if err != nil {
		return nil, err
	}
	members := make([]Member, 0)
	for rows.Next() {
		var m Member
		err = rows.Scan(&m.ID, &m.Nombres, &m.Apellidos,
			&m.TipoID, &m.NumeroID)
		if err != nil {
			return nil, err
		}
		members = append(members, m)
	}
	err = rows.Err()
	return members, err
}
示例#4
0
// AllTeams hace lo que viene en la etiqueta
func AllTeams() ([]Team, error) {
	rows, err := database.DB().Query("SELECT * FROM teams")
	if err != nil {
		return nil, err
	}
	teams := make([]Team, 0)
	for rows.Next() {
		var t Team
		err = rows.Scan(&t.ID, &t.Nombre, &t.Proyecto)
		if err != nil {
			return nil, err
		}
		t.Miembros, err = members.ForTeam(t.ID)
		if err != nil {
			return nil, err
		}
		teams = append(teams, t)
	}
	err = rows.Err()
	return teams, err
}