Ejemplo n.º 1
0
//GenerarMejorCombinacion se encarga de buscar cada una de las prendas por color y birllo para generar una combinacion.
func GenerarMejorCombinacion(usuarioID string) (prendas [][]modelo.Prenda) {
	u := modelo.Usuario{ID: bson.ObjectIdHex(usuarioID)}
	u.BuscarPorID()
	mejores := genetico.Genetico(u.ConsultarColoresPrendas())
	for _, mejor := range mejores {
		var combinacion []modelo.Prenda
		for i, color := range mejor.Genotipo {
			prenda := modelo.Prenda{}
			prenda.Brillo = color.Brillo
			prenda.Color.Tono = color.Tono
			switch i {
			case 0:
				prenda.TipoPrenda.Nombre = "Calzado"
			case 1:
				prenda.TipoPrenda.Nombre = "Pantalon/Falda"
			case 2:
				prenda.TipoPrenda.Nombre = "Playera"
			case 3:
				prenda.TipoPrenda.Nombre = "Chamarra"
			}
			prenda.BuscarPorBrilloTono(u.Prendas)
			combinacion = append(combinacion, prenda)
		}
		prendas = append(prendas, combinacion)
	}
	return prendas
}
Ejemplo n.º 2
0
//RegistroPrendaPOST recibe el formulario y se encarga de registrarlo en la BD.
func RegistroPrendaPOST() gin.HandlerFunc {
	return func(c *gin.Context) {
		usuarioID := GetSession(sessions.Default(c).Get("UsuarioID"))
		if usuarioID != "0" {
			var p modelo.Prenda
			if c.Bind(&p) == nil {
				u := modelo.Usuario{ID: usuarioID}
				if u.BuscarPorID() {
					p.ID = bson.NewObjectId()
					p.Color.BuscarPorTono()

					p.Clima.ID = bson.ObjectIdHex(convertirID(c.PostForm("clima")))
					p.Clima.BuscarPorID()

					p.TipoPrenda.ID = bson.ObjectIdHex(convertirID(c.PostForm("tipoPrenda")))
					p.TipoPrenda.BuscarPorID()

					p.Ocasion.ID = bson.ObjectIdHex(convertirID(c.PostForm("ocasion")))
					p.Ocasion.BuscarPorID()

					guadarImagen(c, &p)

					u.Prendas = append(u.Prendas, p)
					if u.Modificar() {
						//BIEN
						fmt.Println(u)
					} else {
						fmt.Println("ALGO MAL", u)
					}
				} else {
					//No se encontró el usuario D:
					fmt.Println(u)
				}
			} else {
				fmt.Println("Algo salió mal")
			}
			return
		}
		c.Redirect(302, "/")
		return
	}
}