コード例 #1
0
 /// <summary>
 /// Обновление колонок
 /// </summary>
 private void Update()
 {
     foreach (var column in _azsPriceBook.Book)
     {
         var col       = _columns.FirstOrDefault(x => x.Id == column.DispenserNumber);
         var updateCol = false;
         if (col == null)
         {
             updateCol = true;
             col       = new Column(column.DispenserNumber);
             _columns.Add(col);
             foreach (var hose in column.NozzleFuelTypes)
             {
                 var price = _azsPriceBook.Prices.FirstOrDefault(x => x.F_Code == hose.F_Code & x.FF_Code == hose.FF_Code);
                 col.AddHose(new Nozzle(hose.Nozzle, hose.F_Code, hose.FF_Code, price.FuelName, hose.Status, price.Price));
                 col.SetStatus(hose.Status);
             }
         }
         else
         {
             col.State = PumpStateEnum.PUMP_STATE_FREE;
             foreach (var hose in column.NozzleFuelTypes)
             {
                 var price = _azsPriceBook.Prices.FirstOrDefault(x => x.F_Code == hose.F_Code & x.FF_Code == hose.FF_Code);
                 updateCol |= col.UpdateHose(new Nozzle(hose.Nozzle, hose.F_Code, hose.FF_Code, price.FuelName, hose.Status, price.Price));
                 col.SetStatus(hose.Status);
             }
         }
         if (updateCol)
         {
             Device.BeginInvokeOnMainThread(() =>
                                            UpdateUpdateColumns?.Invoke(col));
         }
     }
 }