X-Git-Url: https://www.hackdaworld.org/gitweb/?a=blobdiff_plain;f=lib%2Fproduct_component.dart;h=7e429f8b712b29322cb75d5a1f272527643b9e0e;hb=HEAD;hp=ed08975fdc6f6f47b340641ee8765ea3e5085621;hpb=8efc1c411ba4d97505c3836bd78bb5e68f521e2e;p=outofuni%2Ftavern2.git diff --git a/lib/product_component.dart b/lib/product_component.dart index ed08975..7e429f8 100644 --- a/lib/product_component.dart +++ b/lib/product_component.dart @@ -27,10 +27,11 @@ class ProductComponent implements OnInit { final RouteParams _routeParams; final Router _router; - String prod_category_id; + String catid; String prod_category_name; + String prod_name; - double prod_price; + String prod_price; int prodcnt; List products; @@ -39,77 +40,49 @@ class ProductComponent implements OnInit { ProductComponent(this._prodSrv,this._prodcatSrv, this._routeParams,this._router) { prod_category_name='Category'; - prod_category_id='ID'; } Future ngOnInit() async { - var catid=_routeParams.get('id'); + catid=_routeParams.get('id'); if(catid!=null) { products = await (_prodSrv.getByCategory(catid)); prodcat = await (_prodcatSrv.getById(catid)); } prod_category_name=prodcat.name; - prod_category_id=prodcat.id; prodcnt=products.length; } Future updateProductCategory() async { - bool doupdate=false; - bool changecat=false; - if(prodcat.id!=prod_category_id) { - doupdate=true; - changecat=true; - } if(prodcat.name!=prod_category_name) { - doupdate=true; - } - if(doupdate) { - if(changecat) { - for(Product prod in products) { - print('Debug: change category of '+ - prod.name); - await _prodSrv.updateProd( - prod.id, - prod.name, - prod.price, - prod_category_id - ); - } - } - print('Debug: Updating product category '+ - prodcat.name+'/'+prodcat.id+' -> '+ - prod_category_name+'/'+prod_category_id); await _prodcatSrv.updateProdCategory( - prodcat.id, - prod_category_name, - prod_category_id + catid, + prod_category_name ); + _router.navigate(['ProductCategories']); } } Future deleteProductCategory() async { - bool delete=false; - if(products.length==0) { - delete=true; - } - else { - print('Debug: Not deleting anything!'); - } - if(delete) { - print('Debug: Deleting product category '+ - prodcat.name+'/'+prodcat.id); - await _prodcatSrv.deleteProdCategory(prodcat.doc_id); - } + print('Debug: Deleting product category '+ + prodcat.name+'/'+prodcat.id); + await _prodcatSrv.deleteProdCategory(prodcat.id); + _router.navigate(['ProductCategories']); } Future createProduct() async { if(prod_name==null || prod_price==null) return; print('Debug: Creating product '+prod_name+'/'+ - prod_price.toString()); - await _prodSrv.createProduct(prod_name, + prod_price); + String id = await _prodSrv.createProduct(prod_name, double.parse(prod_price), - prod_category_id); + catid); + // instead of executing ngOnInit to 'reload' content + products.add(new Product( + id,prod_name,double.parse(prod_price),'product',catid + )); + prod_name=''; + prod_price=''; } choose(Product prod) {