.models.<%= class_name %>; <% for model in belongs_tos -%> import <%= base_package %>.models.<%= model.camelcase %>; <% end -%> [Bindable] private var _<%= class_name.downcase_first_letter %>:<%= class_name %> = new <%= class_name %>(); private function new<%= class_name %>():void { _<%= class_name.downcase_first_letter %> = new <%= class_name %>(); <%= class_name.downcase_first_letter.pluralize %>List.selectedIndex = -1; } private function save<%= class_name %>():void { if (_<%= class_name.downcase_first_letter %>.id) { update<%= class_name %>(); } else { create<%= class_name %>(); } } private function create<%= class_name %>():void { var <%= class_name.downcase_first_letter %>:<%= class_name %> = new <%= class_name %>(); <% for attribute in attributes -%> <% if attribute.type == :boolean -%> <%= class_name.downcase_first_letter %>.<%= attribute.flex_name %> = <%= attribute.flex_name %>CheckBox.selected; <% elsif attribute.type == :string -%> <%= class_name.downcase_first_letter %>.<%= attribute.flex_name %> = <%= attribute.flex_name %>TextInput.text; <% elsif attribute.type == :text -%> <%= class_name.downcase_first_letter %>.<%= attribute.flex_name %> = <%= attribute.flex_name %>TextArea.text; <% elsif attribute.type == :datetime || attribute.type == :time -%> <%= class_name.downcase_first_letter %>.<%= attribute.flex_name %> = <%= attribute.flex_name %>DateTimeTextInput.date; <% elsif attribute.type == :date -%> <%= class_name.downcase_first_letter %>.<%= attribute.flex_name %> = <%= attribute.flex_name %>DateField.selectedDate; <% else -%> <%= class_name.downcase_first_letter %>.<%= attribute.flex_name %> = <%= attribute.flex_type %>(<%= attribute.flex_name %>TextInput.text); <% end -%> <% end -%> <% for model in belongs_tos -%> <%= class_name.downcase_first_letter %>.<%= model.camelcase(:lower) %> = <%= model.camelcase %>(<%= model.camelcase(:lower) %>ComboBox.selectedItem); <% end -%> <%= class_name.downcase_first_letter %>.create({afterCallback: on<%= class_name %>Create}); } private function update<%= class_name %>():void { <% for attribute in attributes -%> <% if attribute.type == :boolean -%> _<%= class_name.downcase_first_letter %>.<%= attribute.flex_name %> = <%= attribute.flex_name %>CheckBox.selected; <% elsif attribute.type == :string -%> _<%= class_name.downcase_first_letter %>.<%= attribute.flex_name %> = <%= attribute.flex_name %>TextInput.text; <% elsif attribute.type == :text -%> _<%= class_name.downcase_first_letter %>.<%= attribute.flex_name %> = <%= attribute.flex_name %>TextArea.text; <% elsif attribute.type == :datetime || attribute.type == :time -%> _<%= class_name.downcase_first_letter %>.<%= attribute.flex_name %> = <%= attribute.flex_name %>DateTimeTextInput.date; <% elsif attribute.type == :date -%> _<%= class_name.downcase_first_letter %>.<%= attribute.flex_name %> = <%= attribute.flex_name %>DateField.selectedDate; <% else -%> _<%= class_name.downcase_first_letter %>.<%= attribute.flex_name %> = <%= attribute.flex_type %>(<%= attribute.flex_name %>TextInput.text); <% end -%> <% end -%> <% for model in belongs_tos -%> _<%= class_name.downcase_first_letter %>.<%= model.camelcase(:lower) %> = <%= model.camelcase %>(<%= model.camelcase(:lower) %>ComboBox.selectedItem); <% end -%> _<%= class_name.downcase_first_letter %>.update({afterCallback: on<%= class_name %>Update}); } private function destroy<%= class_name %>():void { _<%= class_name.downcase_first_letter %>.destroy({afterCallback: on<%= class_name %>Destroy}); } private function on<%= class_name %>Select():void { _<%= class_name.downcase_first_letter %> = RubossUtils.clone(<%= class_name.downcase_first_letter.pluralize %>List.selectedItem) as <%= class_name %>; } private function on<%= class_name %>Create(<%= class_name.downcase_first_letter %>:<%= class_name %>):void { _<%= class_name.downcase_first_letter %> = new <%= class_name %>; } private function on<%= class_name %>Update(<%= class_name.downcase_first_letter %>:<%= class_name %>):void { <%= class_name.downcase_first_letter.pluralize %>List.selectedItem = <%= class_name.downcase_first_letter %>; _<%= class_name.downcase_first_letter %> = RubossUtils.clone(<%= class_name.downcase_first_letter %>) as <%= class_name %>; } private function on<%= class_name %>Destroy(<%= class_name.downcase_first_letter %>:<%= class_name %>):void { on<%= class_name %>Create(<%= class_name.downcase_first_letter %>); } private function canDelete<%= class_name %>(<%= class_name.downcase_first_letter %>:<%= class_name %>):Boolean { return <%= class_name.downcase_first_letter %> != null && <%= class_name.downcase_first_letter %>.id != 0; } ]]> <% for attribute in attributes -%> <% if attribute.type == :boolean -%> <% elsif attribute.type == :string -%> <% elsif attribute.type == :text -%> <% elsif attribute.type == :datetime || attribute.type == :time -%> <% elsif attribute.type == :date -%> <% else -%> <% end -%> <% end -%> <% for model in belongs_tos -%> <% end -%>