Example #1
0
 private async void CountingSensor_OnPinValueChanged(object sender, GPIOPin.PinValueChangedEventArgs e)
 {
     if (e.Edge == Edge.Rise)
     {
         //await LockObject.WaitAsync();
         if (PlanView.remain > 0)
         {
             var Plans = (await Api.Controller.GetProductionPlanAsync(Setting.SelectedLine.ID)).
                         Where(x => x.Is_Active == true).ToList();
             if (Plans != null)
             {
                 int count = Plans.Count;
                 var Plan  = Plans.Where(x => x.Product_ID == Setting.SelectedProduct.ID).FirstOrDefault();
                 if (Plan != null)
                 {
                     if (Plan.Remain_Qty > 0)
                     {
                         Plan.Good_Prod_Qty += 1;
                         Plan.Remain_Qty--;
                         await Api.Controller.UpdatePlan(Plan);
                     }
                 }
             }
         }
         //LockObject.Release();
     }
 }
Example #2
0
        private async void CountingSensor_OnPinValueChanged(object sender, GPIOPin.PinValueChangedEventArgs e)
        {
            if (e.Edge == Edge.Rise)
            {
                await LockObject.WaitAsync();

                //if (PlanView.remain > 0)
                {
                    var Plan = await Api.Controller.GetProductionPlanAsync(Setting.SelectedLine.LineInfoID, Setting.SelectedProduct.ProductID);

                    if (Plan != null)
                    {
                        if (Plan.Remain > 0)
                        {
                            Plan.Elapsed += 1;
                            Plan.Remain--;
                            await Api.Controller.UpdatePlan(Plan);
                        }
                    }
                }
                LockObject.Release();
            }
        }