Using a for loop instead of casting in LoadRidersCommand

This commit is contained in:
2025-11-26 18:42:24 +01:00
parent aa2ba5c90d
commit 6f156d2dc5
3 changed files with 88 additions and 29 deletions
+69 -10
View File
@@ -1,5 +1,6 @@
package command; package command;
import openfl.utils.Object;
import t9.util.ColorTraces; import t9.util.ColorTraces;
import openfl.Vector; import openfl.Vector;
import vo.RiderVO; import vo.RiderVO;
@@ -29,27 +30,80 @@ class LoadRidersCommand implements ICommand implements IResponder {
public function result(rpcEvent:Dynamic):Void { public function result(rpcEvent:Dynamic):Void {
// populate the riders DP in the model locator with the JSON results from the service call // populate the riders DP in the model locator with the JSON results from the service call
/* /*var riders:Array<RiderVO> = cast(rpcEvent, ResultEvent).result;
var riders:Array<RiderVO> = cast(rpcEvent, ResultEvent).result; model.ridersListDP = new ArrayCollection(riders);*/
model.ridersListDP = new ArrayCollection(riders);
traceGreen("ridersListDP.length --> " + model.ridersListDP.length); //trace(model.ridersListDP.get(5).firstName);
*/ //traceGreen("ridersListDP.length --> " + model.ridersListDP.length);
var riders:Array<Dynamic> = cast(rpcEvent, ResultEvent).result; 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){ /*for (key => value in riders){
//ConfigValues.data[key] = value; //ConfigValues.data[key] = value;
traceMagenta(key + " / " + riders[key]); traceMagenta(key + " / " + riders[key]);
}*/ }*/
var rac:ArrayCollection<RiderVO> = new ArrayCollection(); /*var rac:ArrayCollection<RiderVO> = new ArrayCollection();
for (v in riders) { for (v in riders) {
var rider:RiderVO = cast v; //var rider:RiderVO = cast v;
rac.add(rider); rac.add(v);
} }
model.ridersListDP = rac; model.ridersListDP = rac;*/
/* /*
var data:DynamicAccess<Dynamic> = Json.parse(cast(rpcEvent, ResultEvent).result); var data:DynamicAccess<Dynamic> = Json.parse(cast(rpcEvent, ResultEvent).result);
@@ -64,6 +118,11 @@ class LoadRidersCommand implements ICommand implements IResponder {
} }
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 // this is called when the delegate receives a fault from the service
public function fault(rpcEvent:Dynamic):Void { public function fault(rpcEvent:Dynamic):Void {
// store an error message in the model locator // store an error message in the model locator
+1 -1
View File
@@ -40,7 +40,7 @@ class RidersList extends ListView {
//var className = Type.getClassName(Type.getClass(state)); //var className = Type.getClassName(Type.getClass(state));
//traceRed("Current class name = " + className); //traceRed("Current class name = " + className);
var rider:RiderVO = cast state.data; var rider:RiderVO = cast (state.data, RiderVO);
itemRenderer.text = rider.firstName; itemRenderer.text = rider.firstName;
itemRenderer.secondaryText = rider.name; itemRenderer.secondaryText = rider.name;
+18 -18
View File
@@ -18,27 +18,27 @@ class RiderVO {
public var legalGuardianName:String; public var legalGuardianName:String;
public var legalGuardianFirstName:String; public var legalGuardianFirstName:String;
public var legalGuardianRole:String; public var legalGuardianRole:String;
public var legalGuardianPhoneNumber:Int; public var legalGuardianPhoneNumber:String;
public var legalGuardianEmail:String; public var legalGuardianEmail:String;
public function new(pId:Int = 0, public function new(?pId:Int = 0,
pName:String = "", ?pName:String = "",
pFirstName:String = "", ?pFirstName:String = "",
pAge:Int = 0, ?pAge:Int = 0,
pLastLessonDate:Int, ?pLastLessonDate:Int,
pLevel:Int = 0, ?pLevel:Int = 0,
pCredit:Int = 0, ?pCredit:Int = 0,
pAddress:String = "", ?pAddress:String = "",
pNotes:String = "", ?pNotes:String = "",
pffeLicence:Bool = false, ?pffeLicence:Bool = false,
pffeLicenceValidityYear:Int = 0, ?pffeLicenceValidityYear:Int = 0,
pffeLicenceNumber:String = "", ?pffeLicenceNumber:String = "",
pLegalGuardianName:String = "", ?pLegalGuardianName:String = "",
pLegalGuardianFirstName:String = "", ?pLegalGuardianFirstName:String = "",
pLegalGuardianRole:String = "", ?pLegalGuardianRole:String = "",
pLegalGuardianPhoneNumber:Int = 0, ?pLegalGuardianPhoneNumber:String = "",
pLegalGuardianEmail:String = "") { ?pLegalGuardianEmail:String = "") {
id = (pId == 0) ? currentIndex++ : pId; id = (pId == 0) ? currentIndex++ : pId;
name = pName; name = pName;