133 lines
4.1 KiB
Haxe
133 lines
4.1 KiB
Haxe
package command;
|
|
|
|
import openfl.utils.Object;
|
|
import t9.util.ColorTraces;
|
|
import openfl.Vector;
|
|
import vo.RiderVO;
|
|
import feathers.data.ArrayCollection;
|
|
import openfl.Lib;
|
|
import haxe.DynamicAccess;
|
|
import business.LoadRidersDelegate;
|
|
import com.adobe.cairngorm.commands.ICommand;
|
|
import com.adobe.cairngorm.control.CairngormEvent;
|
|
import feathers.rpc.IResponder;
|
|
import feathers.rpc.events.ResultEvent;
|
|
import haxe.Json;
|
|
import model.AppModelLocator;
|
|
import t9.util.ColorTraces.*;
|
|
|
|
class LoadRidersCommand implements ICommand implements IResponder {
|
|
private var model = AppModelLocator.getInstance();
|
|
|
|
public function execute(cgEvent:CairngormEvent):Void {
|
|
// create a worker who will go get some data and pass it a reference to this command so the delegate knows where to return the data
|
|
var delegate = new LoadRidersDelegate(this);
|
|
// make the delegate do some work
|
|
delegate.loadRidersService();
|
|
}
|
|
|
|
// this is called when the delegate receives a result from the service
|
|
public function result(rpcEvent:Dynamic):Void {
|
|
|
|
// populate the riders DP in the model locator with the JSON results from the service call
|
|
/*var riders:Array<RiderVO> = cast(rpcEvent, ResultEvent).result;
|
|
model.ridersListDP = new ArrayCollection(riders);*/
|
|
|
|
//trace(model.ridersListDP.get(5).firstName);
|
|
//traceGreen("ridersListDP.length --> " + model.ridersListDP.length);
|
|
|
|
|
|
|
|
var data:Array<Dynamic> = cast(rpcEvent, ResultEvent).result;
|
|
var riders:Array<RiderVO> = [];
|
|
|
|
//var arr:Array<RiderVO> = [for (n in data) cast(n, RiderVO)];
|
|
|
|
/*for(v in data){
|
|
//var rider:RiderVO = new RiderVO();
|
|
//var id:Int = Std.parseInt();
|
|
traceCyan(v[]);
|
|
|
|
}*/
|
|
|
|
var riders:Array<RiderVO> = [];
|
|
for (i in 0...data.length) {
|
|
var r:Object = data[i];
|
|
|
|
var id:Int = Std.parseInt(r.id);
|
|
var name:String = r.name;
|
|
var firstName:String = r.firstName;
|
|
var age:Int = Std.parseInt(r.age);
|
|
var lastLessonDate:Int = Std.parseInt(r.lastLessonDate);
|
|
var level:Int = Std.parseInt(r.level);
|
|
var credit:Int = Std.parseInt(r.credit);
|
|
var address:String = r.address;
|
|
var notes:String = r.notes;
|
|
var ffeLicence:Bool = stringToBool(r.ffeLicence);
|
|
var ffeLicenceValidityYear:Int = Std.parseInt(r.ffeLicenceValidityYear);
|
|
var ffeLicenceNumber:String = r.ffeLicenceNumber;
|
|
var legalGuardianName:String = r.legalGuardianName;
|
|
var legalGuardianFirstName:String = r.legalGuardianFirstName;
|
|
var legalGuardianRole:String = r.legalGuardianRole;
|
|
var legalGuardianPhoneNumber:String = r.legalGuardianPhoneNumber;
|
|
var legalGuardianEmail:String = r.legalGuardianEmail;
|
|
|
|
var rider:RiderVO = new RiderVO(id,
|
|
name,
|
|
firstName,
|
|
age,
|
|
lastLessonDate,
|
|
level, credit,
|
|
address,
|
|
notes,
|
|
ffeLicence,
|
|
ffeLicenceValidityYear,
|
|
ffeLicenceNumber,
|
|
legalGuardianName,
|
|
legalGuardianFirstName,
|
|
legalGuardianRole,
|
|
legalGuardianPhoneNumber,
|
|
legalGuardianEmail
|
|
);
|
|
riders.push(rider);
|
|
}
|
|
model.ridersListDP = new ArrayCollection(riders);
|
|
|
|
/*for (key => value in riders){
|
|
//ConfigValues.data[key] = value;
|
|
traceMagenta(key + " / " + riders[key]);
|
|
}*/
|
|
|
|
/*var rac:ArrayCollection<RiderVO> = new ArrayCollection();
|
|
for (v in riders) {
|
|
//var rider:RiderVO = cast v;
|
|
rac.add(v);
|
|
}
|
|
model.ridersListDP = rac;*/
|
|
|
|
/*
|
|
var data:DynamicAccess<Dynamic> = Json.parse(cast(rpcEvent, ResultEvent).result);
|
|
var riders:Array<RiderVO> = cast(rpcEvent, ResultEvent).result;
|
|
var data:DynamicAccess<Dynamic> = Json.parse(e.target.data);
|
|
for (key => value in data){
|
|
ConfigValues.data[key] = value;
|
|
}
|
|
*/
|
|
|
|
|
|
|
|
}
|
|
|
|
private function stringToBool(str) {
|
|
var boolValue:Bool = (str == "true") ? true : false;
|
|
return boolValue;
|
|
}
|
|
|
|
// this is called when the delegate receives a fault from the service
|
|
public function fault(rpcEvent:Dynamic):Void {
|
|
// store an error message in the model locator
|
|
// labels, alerts, etc can bind to this to notify the user of errors
|
|
model.errorStatus = "Fault occured in LoadEmployeesCommand.";
|
|
}
|
|
}
|