.models.<%= class_name %>;
<% for model in belongs_tos -%>
import <%= base_package %>.models.<%= model.camelcase %>;
<% end -%>
[Bindable]
private var <%= class_name.dcfirst %>:<%= class_name %> = new <%= class_name %>();
private function new<%= class_name %>():void {
<%= class_name.dcfirst %> = new <%= class_name %>();
<%= class_name.dcfirst.pluralize %>List.selectedIndex = -1;
}
private function save<%= class_name %>():void {
updateModelProperties();
if (<%= class_name.dcfirst %>.id) {
<%= class_name.dcfirst %>.update({onSuccess: on<%= class_name %>Update});
} else {
<%= class_name.dcfirst %>.create({onSuccess: on<%= class_name %>Create});
}
}
private function updateModelProperties():void {
<% for attribute in attributes -%>
<% if attribute.type == :boolean -%>
<%= class_name.dcfirst %>.<%= attribute.flex_name %> = <%= attribute.flex_name %>CheckBox.selected;
<% elsif attribute.type == :string -%>
<%= class_name.dcfirst %>.<%= attribute.flex_name %> = <%= attribute.flex_name %>TextInput.text;
<% elsif attribute.type == :text -%>
<%= class_name.dcfirst %>.<%= attribute.flex_name %> = <%= attribute.flex_name %>TextArea.text;
<% elsif attribute.type == :datetime || attribute.type == :time -%>
<%= class_name.dcfirst %>.<%= attribute.flex_name %> = <%= attribute.flex_name %>DateTimeTextInput.date;
<% elsif attribute.type == :date -%>
<%= class_name.dcfirst %>.<%= attribute.flex_name %> = <%= attribute.flex_name %>DateField.selectedDate;
<% else -%>
<%= class_name.dcfirst %>.<%= attribute.flex_name %> = <%= attribute.flex_type %>(<%= attribute.flex_name %>TextInput.text);
<% end -%>
<% end -%>
<% for model in belongs_tos -%>
<%= class_name.dcfirst %>.<%= model.camelcase(:lower) %> = <%= model.camelcase %>(<%= model.camelcase(:lower) %>ComboBox.selectedItem);
<% end -%>
}
private function destroy<%= class_name %>():void {
<%= class_name.dcfirst %>.destroy({onSuccess: on<%= class_name %>Destroy});
}
private function on<%= class_name %>Select():void {
<%= class_name.dcfirst %> = RxUtils.clone(<%= class_name.dcfirst.pluralize %>List.selectedItem) as <%= class_name %>;
}
private function on<%= class_name %>Create(result:<%= class_name %>):void {
<%= class_name.dcfirst %> = new <%= class_name %>;
}
private function on<%= class_name %>Update(result:<%= class_name %>):void {
<%= class_name.dcfirst.pluralize %>List.selectedItem = result;
on<%= class_name %>Select();
}
private function on<%= class_name %>Destroy(result:<%= class_name %>):void {
on<%= class_name %>Create(result);
}
]]>
<% 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 -%>