예제 #1
0
        public override void OnBarcode(string Barcode)
        {
            if (Barcode.IsValidBarcode())
            {
                //Тип отсканированого комплектующего
                TypeOfAccessories type = BarcodeWorker.GetTypeOfAccessoriesByBarcode(Barcode);

                switch (type)
                {
                //Лампа - установка/замена лампы
                case TypeOfAccessories.Lamp:
                    MainProcess.ClearControls();
                    MainProcess.Process = new ReplacingAccessory(
                        MainProcess, CaseBarcode, Barcode,
                        Cases.IsCaseHaveAccessory(CaseBarcode, TypeOfAccessories.Lamp),
                        TypeOfAccessories.Lamp);
                    break;

                //Корпус - установка/замена корпуса
                case TypeOfAccessories.Case:
                    MainProcess.ClearControls();
                    MainProcess.Process = new ReplaceLights_SelectNew(MainProcess, Barcode, CaseBarcode);
                    break;

                //Ел.блок - установка/замена блока
                case TypeOfAccessories.ElectronicUnit:
                    MainProcess.ClearControls();
                    MainProcess.Process = new ReplacingAccessory(
                        MainProcess, CaseBarcode, Barcode,
                        Cases.IsCaseHaveAccessory(CaseBarcode, TypeOfAccessories.ElectronicUnit),
                        TypeOfAccessories.ElectronicUnit);
                    break;
                }
            }
        }
예제 #2
0
        /// <summary>Комплектующее отсканировано, нужно начать редактирование</summary>
        /// <param name="Barcode">ШтрихКод</param>
        public override sealed void OnBarcode(string barcode)
        {
            //Если это штрих-код комплектующего
            if (barcode.IsValidBarcode())
            {
                if (groupRegistration)
                {
                    groupRegistrationOnBarcode(barcode);
                    return;
                }
                MainProcess.ClearControls();
                this.barcode = barcode;
                bool accesoryIsExist = !string.IsNullOrEmpty(barcode) && BarcodeWorker.IsBarcodeExist(barcode);

                //Если в системе уже существует штрихкод
                if (!existMode && accesoryIsExist)
                {
                    //Тип комплектующего штрихкода
                    TypeOfAccessories typesOfAccessories = BarcodeWorker.GetTypeOfAccessoriesByBarcode(barcode);
                    //Является ли тип комплектующего (существующий) = типу который нужно отредактировать (отсканированный)
                    bool isTypeLikeCurrent = typesOfAccessories.ToString() + 's' != currentType.Name;

                    //Если типы не совпадают - "Выход"
                    if (isTypeLikeCurrent)
                    {
                        ShowMessage("Штрихкод уже используется в другом типе комплектующего!");
                        OnHotKey(KeyAction.Esc);
                        return;
                    }
                }

                showData(accesoryIsExist, barcode);
            }
            //Если это штрих-код позиции
            else if (barcode.IsValidPositionBarcode())
            {
                Cases cases = accessory as Cases;

                if (cases != null)
                {
                    long map;
                    int  register;
                    int  position;
                    BarcodeWorker.GetPositionData(barcode, out map, out register, out position);

                    cases.Map      = map;
                    cases.Register = register;
                    cases.Position = position;
                    cases.Status   = TypesOfLampsStatus.IsWorking;
                    MainProcess.ClearControls();
                    showData(cases.Id == 0, cases.BarCode);
                }
            }
            //Во всех других случаях
            else
            {
                ShowMessage("Невірний формат штрихкоду!");
                OnHotKey(KeyAction.Esc);
            }
        }
예제 #3
0
        public override void OnBarcode(string Barcode)
        {
            if (Barcode.IsValidBarcode())
            {
                TypeOfAccessories type = BarcodeWorker.GetTypeOfAccessoriesByBarcode(Barcode);

                switch (type)
                {
                case TypeOfAccessories.Lamp:
                    MainProcess.ClearControls();
                    MainProcess.Process = new ReplacingAccessory(MainProcess, CaseBarcode, Barcode,
                                                                 Cases.IsCaseHaveAccessory(CaseBarcode, type),
                                                                 TypeOfAccessories.Lamp);
                    break;

                case TypeOfAccessories.Case:
                    break;

                case TypeOfAccessories.ElectronicUnit:
                    MainProcess.ClearControls();
                    MainProcess.Process = new ReplacingAccessory(MainProcess, CaseBarcode, Barcode,
                                                                 Cases.IsCaseHaveAccessory(CaseBarcode, type),
                                                                 TypeOfAccessories.ElectronicUnit);
                    break;
                }
            }
        }
예제 #4
0
        /// <summary>Скан штрихкода для Эл.блока/Лампы</summary>
        /// <param name="Barcode">Штрихкод</param>
        public override void OnBarcode(string Barcode)
        {
            if (Barcode.IsValidBarcode())
            {
                //Скан ел.блоків?
                if (stage == Stages.ScanUnitBarcode)
                {
                    TypeOfAccessories accessory = BarcodeWorker.GetTypeOfAccessoriesByBarcode(Barcode);

                    //Чи використовується цей штрихкод?
                    if (accessory == TypeOfAccessories.None)
                    {
                        unitBarcode = Barcode;
                        stage       = Stages.ExtractionElectricUnit;
                        DrawControls();
                    }
                    else
                    {
                        MessageBox.Show("Штрихкод уже используеться!");
                    }
                }
                //Скан ламп?
                else if (stage == Stages.ScanLampBarcode)
                {
                    TypeOfAccessories accessory = BarcodeWorker.GetTypeOfAccessoriesByBarcode(Barcode);

                    //Чи використовується цей штрихкод?
                    if (accessory == TypeOfAccessories.None)
                    {
                        lampBarcode = Barcode;
                        stage       = Stages.ExtractionLamp;
                        DrawControls();
                    }
                    else
                    {
                        MessageBox.Show("Штрихкод уже используеться!");
                    }
                }
            }
        }
예제 #5
0
        public override void OnBarcode(string barcode)
        {
            if (barcode.Equals(AcceptingAfterFixing.START_ACCEPTING_AFTER_FIXING_BARCODE))
            {
                MainProcess.ClearControls();
                MainProcess.Process = new AcceptingAfterFixing(MainProcess);
            }
            else if (barcode.IsValidPositionBarcode())
            {
                tryPlacingLight(barcode);
            }
            else if (barcode.IsValidBarcode())
            {
                //Тип комплектуючого визначений за штрихкодом (якщо ШК відсутній, то тип = None)
                TypeOfAccessories type = BarcodeWorker.GetTypeOfAccessoriesByBarcode(barcode);

                //Перехід на відповідний процес відповідно до типу комплектуючого
                switch (type)
                {
                case TypeOfAccessories.Lamp:
                    lampProcess(barcode);
                    break;

                case TypeOfAccessories.ElectronicUnit:
                    unitProcess(barcode);
                    break;

                case TypeOfAccessories.Case:
                    caseProcess(barcode);
                    break;

                default:
                    ShowMessage("Не існує комплектуюче з таким штрихкодом!");
                    break;
                }
            }
        }