creditsView.as 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. import mx.collections.ArrayCollection;
  2. import mx.controls.NumericStepper;
  3. import mx.events.DataGridEvent;
  4. [Bindable]
  5. public var credits : ArrayCollection = new ArrayCollection( [ {quantity:1, price:8}, {quantity:100, price:3}, {quantity:1000, price:1} ] );
  6. [Bindable]
  7. public var articles : ArrayCollection = new ArrayCollection( [ {product:"Crédit", pu:8, quantity:1, pt:8}, {product:"Dazel", pu:100, quantity:1, pt:100}, {product:"Telemed", pu:500, quantity:1, pt:500} ] );
  8. [Bindable]
  9. public var basket : ArrayCollection = new ArrayCollection();
  10. [Bindable]
  11. private var totalPriceWithTaxes : Number = 0;
  12. [Bindable]
  13. public var vatValue : Number = 0;
  14. [Bindable]
  15. private var totalPriceWithoutTaxes : Number = 0;
  16. private function modifyEditedData( event : DataGridEvent ) : void
  17. {
  18. var colName : String = basketDataGrid.columns[ event.columnIndex ].dataField;
  19. if( colName == "quantity" )
  20. {
  21. basketDataGrid.editedItemRenderer.data.quantity = NumericStepper(basketDataGrid.itemEditorInstance).value;
  22. if( basketDataGrid.editedItemRenderer.data.product == "Crédit" )
  23. {
  24. if( basketDataGrid.editedItemRenderer.data.quantity < 100 )
  25. basketDataGrid.editedItemRenderer.data.pu = 8;
  26. if( basketDataGrid.editedItemRenderer.data.quantity > 99 && basketDataGrid.editedItemRenderer.data.quantity < 1000 )
  27. basketDataGrid.editedItemRenderer.data.pu = 3;
  28. if( basketDataGrid.editedItemRenderer.data.quantity > 999 )
  29. basketDataGrid.editedItemRenderer.data.pu = 1;
  30. }
  31. basketDataGrid.editedItemRenderer.data.pt = basketDataGrid.editedItemRenderer.data.quantity * basketDataGrid.editedItemRenderer.data.pu;
  32. basketDataGrid.dataProvider.refresh();
  33. }
  34. totalPriceWithTaxes = 0;
  35. for each( var value : * in basket )
  36. {
  37. totalPriceWithTaxes += value.pt;
  38. }
  39. vatValue = totalPriceWithTaxes * 0.20;
  40. totalPriceWithoutTaxes = totalPriceWithTaxes - vatValue;
  41. }
  42. private function updateBasket() : void
  43. {
  44. totalPriceWithTaxes = 0;
  45. for each( var value : * in basket )
  46. {
  47. totalPriceWithTaxes += value.pt;
  48. }
  49. vatValue = totalPriceWithTaxes * 0.20;
  50. totalPriceWithoutTaxes = totalPriceWithTaxes - vatValue;
  51. }