final RouteParams _routeParams;
final Router _router;
- String prod_category_id;
+ String catid;
String prod_category_name;
+
String prod_name;
double prod_price;
int prodcnt;
ProductComponent(this._prodSrv,this._prodcatSrv,
this._routeParams,this._router) {
prod_category_name='Category';
- prod_category_id='ID';
}
Future<Null> 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<Null> 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<Null> 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<Null> createProduct() async {
return;
print('Debug: Creating product '+prod_name+'/'+
prod_price.toString());
- await _prodSrv.createProduct(prod_name,
+ 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) {