Example #1
0
        private void InkassVigr()
        {
            ShowProcessMessage("Произвожу выгрузку из барабанов в кассету ");
            GhangeConnectionState(ConnectonState_StartInkassFromBarabans);

            FCCSrv2.DenominationType[] Tmp = Barabans.GetBarabansAdd(pnlInkassMenu.rbAll.IsChecked.Value, pnlInkassMenu.ChBBill.IsChecked.Value, pnlInkassMenu.ChBCoins.IsChecked.Value);
            FCCApi = new CFCCApi();
            FCCApi.CollectAsync(Tmp, InkassVigrRes);
        }
Example #2
0
 internal void ClearReplenishAdd()
 {
     AddBillCurentSumm  = 0;
     AddCointCurentSumm = 0;
     this.Dispatcher.Invoke((Action)(() =>
     {
         Barabans.ClearBillAdd();
         Barabans.ClearCoinAdd();
         ReplTotal.SetMoney(0);
     }));
 }
Example #3
0
        private void GhangeConnectionState(int value, string Status, Color color)
        {
            CurrentConnectonState = value;
            this.Dispatcher.Invoke((Action)(() =>
            {
                /*
                 * if ((value != ConnectonState_StartInkass) && (value != ConnectonState_StartInkassFromBarabans) && (value != ConnectonState_StartInkassFromBarabans))
                 * {
                 *  pnlBtnsMain.Visibility = System.Windows.Visibility.Visible;
                 *  pnlInkassMenu.Visibility = System.Windows.Visibility.Hidden;
                 * }
                 */

                connectionState = value;
                switch (connectionState)
                {
                case ConnectonState_Idle:
                    AllDoButtonsEnable();
                    SetStatus(Status, color);
                    break;

                case ConnectonState_GetStatus:
                    AllDoButtonsDisable();
                    SetStatus("Получение данных от устройства.");
                    break;

                case ConnectonState_DevNotConnect:
                    AllDoButtonsDisable();
                    SetStatus("Нет связи с устройством приема наличных средств." + Environment.NewLine +
                              "Убедитесь, что устройство подключено и нажмите кнопку Обновить состояние.", Colors.Red);
                    Barabans.SetNotFindStatus();
                    break;

                case ConnectonState_UpdateInventoryError:
                    AllDoButtonsDisable();
                    SetStatus(Status, color);
                    break;

                case ConnectonState_StartReplError:
                    //AllDoButtonsDisable();
                    //SetStatus(Status, color);
                    SetStatus(Status, color);
                    needInventoryUpdate = true;
                    ClearReplenishAdd();
                    MenuState = 0;
                    break;

                case ConnectonState_WaitingInsertionNonRepl:
                    state = 0;
                    btnRepl.IsEnabled = false;
                    btnInkas.IsEnabled = false;
                    btnReset.IsEnabled = true;
                    SetStatus(Status, color);
                    break;

                case ConnectonState_StartRepl:
                    /*
                     * if (MainClass2.NonEmptyCasset)
                     * {
                     *  SetStatus("Вы вставили не пустую кассету. Поменяйте кассету.", Colors.Red);
                     *
                     * }
                     * else
                     * */
                    {
                        pnlBtnsRepl.Visibility = System.Windows.Visibility.Visible;
                        pnlBtnsMain.Visibility = System.Windows.Visibility.Hidden;
                        btnReplEnd.IsEnabled = true;
                        btnReplCancel.IsEnabled = true;
                        SetStatus("Внесите размен", Colors.Black);
                    }
                    break;

                case ConnectonState_EndReplError:
                    AllDoButtonsDisable();
                    SetStatus(Status, color);
                    MenuState = 0;
                    break;

                case ConnectonState_CancelReplError:
                    AllDoButtonsDisable();
                    SetStatus(Status, color);
                    MenuState = 0;
                    break;

                case ConnectonState_CancelReplSuccess:

                    NeedInventoryUpdate = true;
                    AllDoButtonsEnable();
                    SetStatus("Внесение размена отменено", Colors.Black);
                    ClearReplenishAdd();
                    MenuState = 0;
                    break;

                case ConnectonState_EndReplSuccess:

                    NeedInventoryUpdate = true;
                    AllDoButtonsEnable();
                    SetStatus("Внесение завершено успешно", Colors.Black);
                    ClearReplenishAdd();
                    MenuState = 0;
                    break;

                case ConnectonState_StartInkass:
                    MenuState = 2;
                    SetStatus("Выберите режим инкасации", Colors.Black);
                    break;

                case ConnectonState_CancelInkass:
                    ClearReplenishAdd();
                    Barabans.BtnsCountVisible = false;
                    MenuState = 0;
                    break;

                case ConnectonState_StartInkassFromBarabans:
                    if (MainClass2.NonEmptyCasset)
                    {
                        SetStatus("Вы вставили не пустую кассету. Поменяйте кассету.", Colors.Red);
                    }
                    else
                    {
                        SetStatus("Внесение денег из барабанов в кассету", Colors.Black);
                        pnlInkassMenu.IsEnabled = false;
                        Barabans.BtnsCountVisible = false;
                    }
                    break;

                case ConnectonState_EndInkassFromBarabans:

                    SetStatus("Внесение денег из барабанов в кассету окончено", Colors.Black);

                    ClearReplenishAdd();
                    pnlInkassMenu.IsEnabled = true;

                    NeedInventoryUpdate = true;
                    break;

                case ConnectonState_EndInkassFromBarabansError:
                    SetStatus("Внесение денег из барабанов в кассету окончено с ошибкой", Colors.Black);
                    pnlInkassMenu.IsEnabled = true;
                    NeedInventoryUpdate = true;
                    ClearReplenishAdd();
                    break;

                case ConnectonState_CassetRemoved:
                    SetStatus("Кассета удалена", Colors.Red);
                    pnlInkassMenu.AllBtnsEnableState(false);

                    break;

                case ConnectonState_CassetIneserted:
                    SetStatus("Кассета вставлена", Colors.Red);
                    pnlInkassMenu.AllBtnsEnableState(true);

                    NeedInventoryUpdate = true;
                    break;

                default:
                    break;
                }
            }));
        }
Example #4
0
        private void UpdateInventory(FCCSrv2.CashUnitsType[] Cash, int ResultId, string ResSt)
        {
            // if (ResultId != FCCApi.FCC_SUCCESS)
            //{

            if (Cash != null)
            {
                int BillSumm            = 0;
                int BillCassetSumm      = 0;
                int BillCassetCountSumm = 0;
                int CoinSumm            = 0;

                int CoinCassetSumm      = 0;
                int CoinCassetCountSumm = 0;
                //Банкноты
                FCCSrv2.CashUnitsType MyCash = Cash.Where(a => a.devid == "1").FirstOrDefault();
                if (MyCash != null)
                {
                    foreach (FCCSrv2.CashUnitType Dt in MyCash.CashUnit.Where(a => a.unitno == "4043" || a.unitno == "4044" || a.unitno == "4045"))
                    {
                        FCCSrv2.DenominationType Den = Dt.Denomination[0];
                        Barabans.SetBillValue(int.Parse(Den.fv), int.Parse(Den.Piece), int.Parse(Den.Status), int.Parse(Dt.max), int.Parse(Dt.unitno), Den);
                        BillSumm += int.Parse(Den.fv) * int.Parse(Den.Piece);
                    }
                    FCCSrv2.CashUnitType DtCas = MyCash.CashUnit.Where(a => a.unitno == "4059").FirstOrDefault();

                    foreach (FCCSrv2.DenominationType Den in DtCas.Denomination)
                    {
                        BillCassetSumm      += int.Parse(Den.fv) * int.Parse(Den.Piece);
                        BillCassetCountSumm += int.Parse(Den.Piece);
                    }
                    Barabans.SetBillValue(BillCassetCountSumm, BillCassetSumm, 0, int.Parse(DtCas.max), int.Parse(DtCas.unitno), null);
                    BillSumm += BillCassetSumm;
                }

                CurrentCassetaSumm        = BillCassetSumm;
                FCCApi.CurrentCassetaSumm = BillCassetSumm;
                //Монеты
                MyCash = Cash.Where(a => a.devid == "2").FirstOrDefault();
                if (MyCash != null)
                {
                    foreach (FCCSrv2.CashUnitType Dt in MyCash.CashUnit.Where(a => int.Parse(a.unitno) > 4042 && int.Parse(a.unitno) < 4056))
                    {
                        FCCSrv2.DenominationType Den = Dt.Denomination[0];
                        Barabans.SetCoinValue(int.Parse(Den.fv), int.Parse(Den.Piece), int.Parse(Den.Status), int.Parse(Dt.max), int.Parse(Dt.unitno), Den);
                        CoinSumm += int.Parse(Den.fv) * int.Parse(Den.Piece);
                    }
                    FCCSrv2.CashUnitType DtCas = MyCash.CashUnit.Where(a => a.unitno == "4084").FirstOrDefault();

                    foreach (FCCSrv2.DenominationType Den in DtCas.Denomination)
                    {
                        CoinCassetSumm      += int.Parse(Den.fv) * int.Parse(Den.Piece);
                        CoinCassetCountSumm += int.Parse(Den.Piece);
                    }
                    Barabans.SetCoinValue(CoinCassetCountSumm, CoinCassetSumm, 0, int.Parse(DtCas.max), int.Parse(DtCas.unitno), null);
                    CoinSumm += CoinCassetSumm;
                }
                CurrentCoinCassetaSumm        = CoinCassetSumm;
                FCCApi.CurrentCoinCassetaSumm = CoinCassetSumm;
                SetSumm(BillSumm + CoinSumm);
            }
            else
            {
                GhangeConnectionState(ConnectonState_UpdateInventoryError, String.Format("Ошибка запроса состояния. Код ошибки  {0}. Сообщение {1} ", ResultId, ResSt), Colors.Red);
            }

            AllDoButtonsEnable();
            HideProcessMessage();


            /*
             * if (CurrentConnectonState == ConnectonState_CassetIneserted)
             * {
             *  if (CurrentCassetaSumm > 0)
             *  {
             *      MainClass2.NonEmptyCasset = true;
             *  }
             * }
             */
        }
Example #5
0
        internal void UpdateReplenishAdd(FCCSrv2.CashType[] Cash)
        {
            if ((Cash == null) || (Cash[0] == null))
            {
                return;
            }

            this.Dispatcher.Invoke((Action)(() =>
            {
                if (Cash != null)
                {
                    int BillSumm = 0;
                    int CoinSumm = 0;

                    int BillBarabansSumm = 0;
                    int CoinBarabansSumm = 0;
                    //Барабаны
                    FCCSrv2.CashType MyCash = Cash.Where(a => a.type == "4").FirstOrDefault();
                    if (MyCash != null)
                    {
                        int CassetaAdd = 0;
                        int MonetaAdd = 0;

                        //MyCash
                        foreach (FCCSrv2.DenominationType Dt in MyCash.Denomination)
                        {
                            if (Dt == null)
                            {
                                continue;
                            }
                            if (Dt.devid == "1")
                            {
                                //if (Dt.)
                                Barabans.SetBillAdd(int.Parse(Dt.fv), int.Parse(Dt.Piece), int.Parse(Dt.Status));
                                BillBarabansSumm += int.Parse(Dt.fv) * int.Parse(Dt.Piece);
                            }
                            else if (Dt.devid == "2")
                            {
                                Barabans.SetCoinAdd(int.Parse(Dt.fv), int.Parse(Dt.Piece), int.Parse(Dt.Status));
                                CoinBarabansSumm += int.Parse(Dt.fv) * int.Parse(Dt.Piece);
                            }
                        }


                        if (BillBarabansSumm == 0)
                        {
                            BillBarabansSumm = AddBillCurentSumm;
                        }
                        else
                        {
                            Barabans.SetBillAdd(0, BillBarabansSumm, 0);
                            AddBillCurentSumm = BillBarabansSumm;
                        }

                        if (CoinBarabansSumm == 0)
                        {
                            CoinBarabansSumm = AddCointCurentSumm;
                        }
                        else
                        {
                            AddCointCurentSumm = CoinBarabansSumm;
                        }
                    }
                    ReplTotal.SetMoney(BillBarabansSumm + CoinBarabansSumm);
                }
            }));
        }