run static method
Implementation
static String run(String arguments) {
if (arguments.isEmpty) {
return json.encode({
"ErrorCode": ErrorCode.INVALID_INPUT.toString().split('.').last,
"ErrorMessage": "Nenhum argumento foi fornecido"
});
}
try {
final Map<String, dynamic> paramsData = json.decode(arguments);
Map<String, dynamic> result;
switch (paramsData['method']) {
case 'addItem':
if (paramsData.containsKey("acc")) {
result = Calculation.addItem(
json.encode(paramsData["item"]),
acc: json.encode(paramsData["acc"]));
} else {
result = Calculation.addItem(json.encode(paramsData["item"]));
}
break;
case 'getAll':
result = Calculation.getAll(json.encode(paramsData["acc"]));
break;
case 'removeItem':
result = Calculation.removeItem(
json.encode(paramsData["item"]),
json.encode(paramsData["acc"]));
break;
case 'addAccountDiscount':
result = Calculation.addAccountDiscount(
json.encode(paramsData["discount"]),
json.encode(paramsData["acc"]));
break;
case 'addItemDiscount':
result = Calculation.addItemDiscount(
json.encode(paramsData["discount"]),
json.encode(paramsData["item"]),
json.encode(paramsData["acc"]));
break;
case 'addServiceCharge':
result = Calculation.addServiceCharge(
json.encode(paramsData["serviceCharge"]),
json.encode(paramsData["acc"]));
break;
case 'accountPayment':
result = Calculation.accountPayment(
json.encode(paramsData["payment"]),
json.encode(paramsData["acc"]));
break;
case 'addItemModifier':
result = Calculation.addItemModifier(
json.encode(paramsData["item"]),
json.encode(paramsData["acc"]),
json.encode(paramsData["modifier"]));
break;
case 'updateItem':
result = Calculation.updateItem(
json.encode(paramsData["item"]),
json.encode(paramsData["acc"]));
break;
case 'transferItem':
var res = Calculation.transferItem(
json.encode(paramsData["sourceAcc"]),
json.encode(paramsData["destinationAcc"]),
json.encode(paramsData["item"]));
result = {
"sourceAcc" : res[0],
"destinationAcc": res[1]
};
break;
default:
result = {'error': 'Método não reconhecido'};
}
return json.encode(result);
} catch (e) {
return json.encode({'error': 'Erro: $e'});
}
}