manageStockTakeTasks method
Implementation
Future<List<stockCount.StockTakeTask>> manageStockTakeTasks(tasksassign.TaskAssignment taskAssingment) async{
print("${taskAssingment.task!.taskType.taskTypeId} ${taskAssingment.task!.taskId}");
var api = await ExternalApiClassHelper.load('external_api');
var externalApi =tasks. ExternalApiClass(
externalWebApiToken: api?.externalWebApiToken ?? "",
externalWebApiTokenName: api?.externalWebApiTokenName ?? "",
licenseKey: api?.licenseKey ?? "",
licenseKeyId: api?.licenseKeyId ?? "",
employeeId: api?.employeeId ?? "",
);
var request= tasks.ManageStockTakeTaskRequest(
externalApiClass: externalApi,
stockTakeTask: tasks.StockTakeTask(
taskType: tasks. TaskType(
taskTypeId: taskAssingment.task?.taskType.taskTypeId
),
taskid: taskAssingment.task?.taskId
),
action: 'GET'
);
final plainBytes = request.writeToBuffer();
final result = GrpcEncryptedHelper.encrypt(plainBytes);
final Uint8List iv = result["iv"]!;
final Uint8List cipherText = result["ciphertext"]!;
var response = await taskServiceClient.manageStockCountTaskPriority(tasks. EncryptedMessage(iv: iv,ciphertext: cipherText));
final decryptedBytes = GrpcEncryptedHelper.decrypted(Uint8List.fromList(response.iv), Uint8List.fromList(response.ciphertext));
final responses=tasks. ManageStockTakeTaskResponse.fromBuffer(decryptedBytes);
if(responses.success){
if(responses.stockTakeTask.isNotEmpty){
List<stockCount.StockTakeTask> stocktake = [];
for(var s in responses.stockTakeTask){
List<stockCount.StockCountTaskPriority> listStockCountTaskPriority = [];
for(var l in s.stockCountTaskPriority){
listStockCountTaskPriority.add(stockCount.StockCountTaskPriority(project: icproject.ICProject(projectGroup: icproject.ProjectGroup(), organization: icproject.Organization(organizationid: 0),icProjectId: l.iCProject.icprojeid,projectName: l.iCProject.name,projectNameKh: l.iCProject.nameKh), stockCountTaskPriorityProgress: stockCount.StockCountTaskPriorityProgress(l.stockCountTaskPriorityProgress.id, l.stockCountTaskPriorityProgress.name),priority: l.priority));
}
stocktake.add(stockCount.StockTakeTask(
stocktakeid: s.stockTakeid,
stockCountTaskPriority: listStockCountTaskPriority, task: tasks_lib.Task(taskId: s.taskid, taskType: taskType.TaskType(taskTypeId: s.taskType.taskTypeId)),
));
}
return stocktake;
}
}
return [];
}