コード例 #1
0
ファイル: ProductService.go プロジェクト: elivoa/gotapestry
func (s *ProductService) UpdateProduct(product *model.Product) {
	if product == nil {
		return
	}
	// update product information
	product.Capital = s.getCapital(product.Name)
	if _, err := productdao.UpdateProduct(product); err != nil {
		panic(err.Error())
	}

	// update it's properties
	if product.Colors != nil {
		productdao.UpdateProductProperties(product.Id, "color", product.Colors...)
	}
	if product.Sizes != nil {
		productdao.UpdateProductProperties(product.Id, "size", product.Sizes...)
	}

	// update stock information
	if product.Stocks != nil {
		// TODO change to edit/create/delete;
		inventorydao.ClearProductStock(product.Id) // clear
		product.Stocks.Loop(func(color, size string, stock int) {
			inventorydao.SetProductStock(product.Id, color, size, stock)
		})
	}

	// update suggest
	fmt.Println("^^^^^^ update product, ", product)
	fmt.Println("Productid is: ", product.ProductId)
	suggest.Update(suggest.Product, product.Name, product.Id, product.ProductId)

}
コード例 #2
0
ファイル: ProductService.go プロジェクト: elivoa/gotapestry
func (s *ProductService) ProductPictrues(product *model.Product) []string {
	if nil == product {
		return []string{}
	}
	pkeys := product.PictureKeys()
	for i := 0; i < len(pkeys); i++ {
		pkeys[i] = filepath.Join("/pictures", pkeys[i])
	}
	return pkeys
}
コード例 #3
0
ファイル: product_dao.go プロジェクト: elivoa/gotapestry
// ________________________________________________________________________________
// Create person
//
func Create(product *model.Product) (*model.Product, error) {
	res, err := em.Insert().Exec(
		product.Name, product.ProductId, product.Status, product.Brand, product.Price, product.Supplier,
		product.FactoryPrice, product.Stock, product.ShelfNo, product.Capital,
		product.Note, product.Pictures, product.CreateTime,
	)
	if err != nil {
		return nil, err
	}
	liid, err := res.LastInsertId()
	product.Id = int(liid)
	return product, nil
}
コード例 #4
0
ファイル: ProductService.go プロジェクト: elivoa/gotapestry
//
// CreateProduct create a new Product into database, including it's properties.
//
func (s *ProductService) CreateProduct(product *model.Product) (*model.Product, error) {
	if product == nil {
		panic("Product can't be null!")
	}

	product.Capital = s.getCapital(product.Name)
	newProduct, err := productdao.Create(product)
	if err != nil {
		return nil, err
	}
	// newProduct := dal.CreateProduct(product)
	if product.Colors != nil {
		productdao.UpdateProductProperties(newProduct.Id, "color", product.Colors...)
	}
	if product.Sizes != nil {
		productdao.UpdateProductProperties(newProduct.Id, "size", product.Sizes...)
	}

	// update suggest
	suggest.Add(suggest.Product, newProduct.Name, newProduct.Id, product.ProductId)

	return newProduct, nil
}