// Realiza una conexión al servidor server y selecciona la BD de kentia func conectar() (c conector) { session, err := mgo.Dial("mongodb://localhost") if err != nil { log.RegistrarError(err) } session.SetSafe(&mgo.Safe{}) c.db = session.DB("kentia") return c }
//ConsultarTiposPrenda consulta todas los tipos de prenda. func ConsultarTiposPrenda() (tiposPrenda []TipoPrenda) { conn := conectar() defer conn.desconectar() err := conn.db.C(coleccionTipoPrenda).Find(bson.M{}).All(&tiposPrenda) if err != nil { log.RegistrarError(err) } return tiposPrenda }
//ConsultarClimas regresa un catálogo de colores func ConsultarClimas() (climas []Clima) { conn := conectar() defer conn.desconectar() err := conn.db.C(coleccionClima).Find(bson.M{}).All(&climas) if err != nil { log.RegistrarError(err) } return climas }
//ConsultarPrendas regresa un catálogo de prendas. func ConsultarPrendas() (prendas []Prenda) { conn := conectar() defer conn.desconectar() err := conn.db.C(coleccionPrenda).Find(bson.M{}).All(&prendas) if err != nil { log.RegistrarError(err) } return prendas }
//Registrar se encarga de registrar el clima en la BD. func (tp *TipoPrenda) Registrar() bool { conn := conectar() defer conn.desconectar() err := conn.db.C(coleccionTipoPrenda).Insert(tp) if err != nil { log.RegistrarError(err) return false } return true }
//BuscarPorID busca un usuario en la DB por ID. func (u *Usuario) BuscarPorID() bool { conn := conectar() defer conn.desconectar() err := conn.db.C(coleccionUsuario).FindId(u.ID).One(u) if err != nil { log.RegistrarError(err) return false } return true }
//ConsultarUsuarios regresa el catálogo de usuarios. func ConsultarUsuarios() (usuarios []Usuario) { conn := conectar() defer conn.desconectar() err := conn.db.C(coleccionUsuario).Find(bson.M{}).All(&usuarios) if err != nil { log.RegistrarError(err) } return usuarios }
//Modificar modifica un usuario en la DB. func (u *Usuario) Modificar() bool { conn := conectar() defer conn.desconectar() err := conn.db.C(coleccionUsuario).UpdateId(u.ID, u) if err != nil { log.RegistrarError(err) return false } return true }
//BuscarPorTono busca en la BD un color que coincida con el ID dado. func (c *Color) BuscarPorTono() bool { conn := conectar() defer conn.desconectar() err := conn.db.C(coleccionColor).Find(bson.M{"tono": c.Tono}).One(c) if err != nil { log.RegistrarError(err) return false } return true }
//BuscarPorID busca en la BD un color que coincida con el ID dado. func (c *Color) BuscarPorID() bool { conn := conectar() defer conn.desconectar() err := conn.db.C(coleccionColor).FindId(c.ID).One(c) if err != nil { log.RegistrarError(err) return false } return true }
//ConsultarColores regresa un catálogo de colores. func ConsultarColores() (colores []Color) { conn := conectar() defer conn.desconectar() err := conn.db.C(coleccionColor).Find(bson.M{}).All(&colores) if err != nil { log.RegistrarError(err) } return colores }
//Modificar se encarga de actualizar el color en la BD. func (c *Color) Modificar() bool { conn := conectar() defer conn.desconectar() err := conn.db.C(coleccionColor).UpdateId(c.ID, c) if err != nil { log.RegistrarError(err) return false } return true }
//Registrar se encarga de registrar el color en la BD. func (c *Color) Registrar() bool { conn := conectar() defer conn.desconectar() err := conn.db.C(coleccionColor).Insert(c) if err != nil { log.RegistrarError(err) return false } return true }
//BuscarPorID para consultar el tipo usando el ID. func (tp *TipoPrenda) BuscarPorID() bool { conn := conectar() defer conn.desconectar() err := conn.db.C(coleccionTipoPrenda).FindId(tp.ID).One(tp) if err != nil { log.RegistrarError(err) return false } return true }
//Modificar se encarga de modificar la prenda en la BD. func (tp *TipoPrenda) Modificar() bool { conn := conectar() defer conn.desconectar() err := conn.db.C(coleccionTipoPrenda).UpdateId(tp.ID, tp) if err != nil { log.RegistrarError(err) return false } return true }
//Registrar registra un usuario en la DB. func (u *Usuario) Registrar() bool { conn := conectar() defer conn.desconectar() u.ID = bson.NewObjectId() err := conn.db.C(coleccionUsuario).Insert(u) if err != nil { log.RegistrarError(err) return false } return true }
//ConsultarOcasiones regresa un catálogo de ocasiones. func ConsultarOcasiones() (ocasiones []Ocasion) { conn := conectar() defer conn.desconectar() err := conn.db.C(coleccionOcasion).Find(bson.M{}).All(&ocasiones) if err != nil { log.RegistrarError(err) } fmt.Println(ocasiones) return ocasiones }
//IniciarSesion comprueba las credenciales y autoriza una sesion. func (u *Usuario) IniciarSesion() bool { conn := conectar() defer conn.desconectar() query := bson.M{"$and": []interface{}{ bson.M{"correo": u.Correo}, bson.M{"contraseña": u.Contraseña}}} err := conn.db.C(coleccionUsuario).Find(query).One(u) if err != nil { log.RegistrarError(err) return false } return true }