public static void SubmitWorkOrderResult(WorkOrderTrimmed wo) { try { CommPackage cp = (from x in CommunicationPackages where wo.DeviceUIRef == x.DeviceUIRef select x).Single(); CommunicationPackages.Remove(cp); WorkOrders.Add(wo); //TODO: Send result to the UI result handler.. } catch { } }
public static void SubmitWorkOrderResult(WorkOrderTrimmed wo) { try { WorkOrders.Add(wo); List <int> completedWOs = WorkOrders.Select(x => x.DeviceLocalRequestId).ToList(); List <int> allWOs = CommunicationPackages.Select(x => x.DeviceLocalRequestId).ToList(); List <int> umcompletedItems = completedWOs.Except(allWOs).Concat(allWOs.Except(completedWOs)).ToList(); AsyncResultTask.PostUpdate(wo, umcompletedItems.Count() == 0, umcompletedItems.Count(), allWOs.Count()); } catch (Exception e) { Log.Error("WorkOrderList", e.Message); } }
protected override Java.Lang.Object DoInBackground(params Java.Lang.Object[] @params) { Intent intent = (Intent)@params[0]; String serializedJson; using (StreamReader sr = new StreamReader(intent.GetStringExtra("FileLocation"))) { serializedJson = sr.ReadToEnd(); } File.Delete(intent.GetStringExtra("FileLocation")); WorkOrderTrimmed wo = JsonConvert.DeserializeObject <WorkOrderTrimmed>(serializedJson); // Update work order list WorkOrderList.SubmitWorkOrderResult(wo); return(true); }
public void ReceiveWorkOrderResult(int workOrderId) { WorkOrderWS.WorkOrderTrimmed wo = new WorkOrderWS.WorkOrderSvc().GetWorkOrder(App.GetAuthToken(this), App.GetDeviceId(this), true, workOrderId, true); ComputeAndroidSDK.Communication.WorkOrderTrimmed testWo = new WorkOrderTrimmed(); testWo.ApplicationId = wo.ApplicationIdk__BackingField; testWo.ApplicationUIResultIntent = wo.ApplicationUIResultIntentk__BackingField; testWo.CommPackageJson = wo.CommPackageJsonk__BackingField; testWo.ComputeAppIntent = wo.ComputeAppIntentk__BackingField; testWo.DeviceId = wo.DeviceIdk__BackingField; testWo.DeviceLocalRequestId = wo.DeviceLocalRequestIdk__BackingField; testWo.DeviceUIRef = wo.DeviceUIRefk__BackingField; testWo.ReceiveTime = wo.ReceiveTimek__BackingField; testWo.SlaveWorkerId = wo.SlaveWorkerIdk__BackingField; testWo.SlaveWorkerSubmit = wo.SlaveWorkerSubmitk__BackingField; testWo.SlaveWorkOrderLastCommunication = wo.SlaveWorkOrderLastCommunicationk__BackingField; testWo.WorkOrderId = wo.WorkOrderIdk__BackingField; testWo.WorkOrderResultJson = wo.WorkOrderResultJsonk__BackingField; testWo.WorkOrderStatus = wo.WorkOrderStatusk__BackingField; // Send to listener (intent attached to application) Intent newIntent = new Intent(wo.ApplicationUIResultIntentk__BackingField); string fileName = Android.OS.Environment.ExternalStorageDirectory + Java.IO.File.Separator + testWo.WorkOrderId + "-ResultRet.txt"; StreamWriter fs = new StreamWriter(fileName, false); fs.Write(JsonConvert.SerializeObject(testWo)); fs.Close(); newIntent.PutExtra("FileLocation", fileName); //newIntent.PutExtra("WorkOrderTrimmed", JsonConvert.SerializeObject(testWo)); this.ApplicationContext.SendBroadcast(newIntent); }
public override void OnReceive(Context context, Intent intent) { try { if (intent.Action == "com.ComputeApps.TestApp.Intents.ReceiveResult") { WorkOrderTrimmed wo = JsonConvert.DeserializeObject <WorkOrderTrimmed>(intent.GetStringExtra("WorkOrderTrimmed")); // Update work order list WorkOrderList.SubmitWorkOrderResult(wo); } //CommPackage cp = CommPackage.DeserializeJson(intent.GetStringExtra("CommPackage")); //Log.Error("com.ComputeApps.TestApp.Intents.DoWork", "HERE!!"); //ComputeApps.TestApp.WorkList.SetAppContext(context); //ComputeApps.TestApp.WorkList.AddWorkItem(cp); //int test = 0; } catch (Exception ex) { Log.Error("com.ComputeApps.TestApp.Intents.ReceiveResult", ex.Message); } }