package org.presstrack { import mx.collections.ArrayCollection; import org.presstrack.service.*; [RemoteClass(alias="org.presstrack.OrderClass")] [Bindable] public class OrderClass extends Object { public var idorder:int; public var label:int; public var group_num:int; public var creation:String; public var expiry:String; public var close:String; public var products_name:String; public var state:int; public var state_paper:int; public var state_prepress:int; public var state_press:int; public var state_postpress:int; public var state_destination:int; public var state_paper_color:String; public var state_prepress_color:String; public var state_press_color:String; public var state_postpress_color:String; public var state_destination_color:String; public var note:String; public var price:Number; public var debt:Number; public var customer:int; public var manager:int; public var customer_name:String; public var manager_name:String; public var parts:ArrayCollection; public function OrderClass(){ idorder = -1; label = 0; group_num = 1; expiry = "??/??/????"; //manager = CrudService.curUser.iduser; //manager_name = CrudService.curUser.name; customer_name = "?"; customer = -1; price = 0; debt = 0; state = 1; parts = new ArrayCollection(); } public function setFromObject(ob:Object):Boolean{ if (ob == null) return false; if (ob.hasOwnProperty("idorder")) idorder = Number(ob.idorder); if (ob.hasOwnProperty("label")) label = Number(ob.label); if (ob.hasOwnProperty("note")) if (ob.note != null) note = ob.note.toString(); if (ob.hasOwnProperty("expiry")) expiry = ob.expiry.toString(); if (ob.hasOwnProperty("manager_name")) manager_name = ob.manager_name.toString(); if (ob.hasOwnProperty("customer_name")) customer_name = ob.customer_name.toString(); if (ob.hasOwnProperty("manager")) manager = Number(ob.manager); if (ob.hasOwnProperty("customer")) customer = Number(ob.customer); if (ob.hasOwnProperty("creation")) creation = ob.creation.toString(); if (ob.hasOwnProperty("price")) price = Number(ob.price); if (ob.hasOwnProperty("debt")) debt = Number(ob.debt); if (ob.hasOwnProperty("group_num")) group_num = Number(ob.group_num); if (ob.hasOwnProperty("parts")) { parts = new ArrayCollection(); for each(var g:Object in ob.parts) { var p:OrderPartClass = new OrderPartClass(); p.setFromObject(g); parts.addItem(p); } products_name = ""; for each (var part:OrderPartClass in parts) { for each (var pr:ProductClass in part.products) products_name += pr.label + ", " + pr.run + " шт. \r"; } } if (ob.hasOwnProperty("state_paper_color")) state_paper_color = ob.state_paper_color; if (ob.hasOwnProperty("state_prepress_color")) state_prepress_color = ob.state_prepress_color; if (ob.hasOwnProperty("state_press_color")) state_press_color = ob.state_press_color; if (ob.hasOwnProperty("state_postpress_color")) state_postpress_color = ob.state_postpress_color; if (ob.hasOwnProperty("state_destination_color")) state_destination_color = ob.state_destination_color; return true; } public function updatePrice():void { price = 0; for each (var p:OrderPartClass in parts) { for each (var t:TaskClass in p.tasks) price += t.cost; } } } }