public WorkOrderTrimmed GetWorkOrder(String at, int deviceId, int workOrderId) { new AuthSvc().AuthUser(at, -1, deviceId); BusinessLayer.WorkOrder wo = BusinessLayer.WorkOrder.Populate(workOrderId); BusinessLayer.WorkApplication wa = BusinessLayer.WorkApplication.Populate(wo.ApplicationId); WorkOrderTrimmed wt = new WorkOrderTrimmed(); wt.ApplicationId = wo.ApplicationId; wt.CommPackageJson = wo.CommPackageJson; wt.DeviceId = wo.DeviceId; wt.ReceiveTime = wo.ReceiveTime; wt.SlaveWorkerId = wo.SlaveWorkerId; wt.SlaveWorkerSubmit = wo.SlaveWorkerSubmit; wt.SlaveWorkOrderLastCommunication = wo.SlaveWorkOrderLastCommunication; wt.WorkOrderId = wo.WorkOrderId; wt.WorkOrderResultJson = wo.WorkOrderResultJson; wt.WorkOrderStatus = wo.WorkOrderStatus; wt.ComputeAppIntent = wa.ApplicationWorkIntent; wt.ApplicationUIResultIntent = wa.ApplicationUIResultIntent; wt.DeviceLocalRequestId = wo.LocalDeviceId; wt.SerialisationTime = wo.SerialisationTime; wt.DeserialisationTime = wo.DeserialiationTime; return(wt); }
public BusinessLayer.WorkOrder CreateWorkOrder(String at, int deviceId, int applicationId, String paramListJson, String backgroundProcessFunction, int localDeviceWORef) { new AuthSvc().AuthUser(at, -1, deviceId); BusinessLayer.WorkApplication wa = BusinessLayer.WorkApplication.Populate(applicationId); CommPackage cp = new CommPackage(); cp.BackgroundProcessClass = ""; cp.BackgroundProcessFunction = backgroundProcessFunction; cp.ParameterList = CommPackage.DeserializeParamJson(paramListJson); cp.DeviceUIRef = wa.ApplicationUIResultIntent; cp.DeviceLocalRequestId = localDeviceWORef; BusinessLayer.WorkOrder wo = BusinessLayer.WorkOrder.CreateWorkOrder(deviceId, applicationId, localDeviceWORef); cp.ComputationRequestId = wo.WorkOrderId; wo.CommPackageJson = cp.SerializeJson(); wo.Save(); CloudQueues.NewWorkOrderQueueClient.Send(new BrokeredMessage(wo.WorkOrderId)); return(wo); }