예제 #1
0
        private void groupRegistrationOnBarcode(string barcode)
        {
            bool barcodeExists = BarcodeWorker.IsBarcodeExist(barcode);

            if (barcodeExists)
            {
                ShowMessage("Даний штрих-код вже використовується");
                return;
            }

            Lamps newLamp = currentLamp.CopyWithoutLinks() as Lamps;

            newLamp.Write();

            ElectronicUnits newElectronicUnit = currentUnit.CopyWithoutLinks() as ElectronicUnits;

            newElectronicUnit.Write();

            Cases newCase = currentCase.CopyWithoutLinks() as Cases;

            newCase.BarCode        = barcode;
            newCase.Lamp           = newLamp.Id;
            newCase.ElectronicUnit = newElectronicUnit.Id;
            newCase.Write();

            Movement.RegisterLighter(newCase.BarCode, newCase.SyncRef, OperationsWithLighters.Registration);

            groupSize++;
        }
예제 #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
        /// <summary>Отсканировано комплектующее для приемки</summary>
        public override void OnBarcode(string Barcode)
        {
            if (Barcode.IsValidBarcode())
            {
                if (newComponents.ContainsKey(Barcode) || BarcodeWorker.IsBarcodeExist(Barcode))
                {
                    ShowMessage("Данный штрих-код вже існує у системі!");
                }
                else
                {
                    newComponents.Add(Barcode, selectedModelRef);

                    int currCount = Convert.ToInt32(labelOfCount.Text);
                    labelOfCount.Text = (++currCount).ToString();
                }
            }
        }
예제 #4
0
 public override void OnBarcode(string Barcode)
 {
     if (Barcode.IsValidBarcode())
     {
         if (BarcodeWorker.IsBarcodeExist(Barcode))
         {
             ShowMessage("Штрихкод уже используется!");
         }
         else
         {
             if (stage == Stages.Lamp)
             {
                 lampBarcode = Barcode;
                 goToNextStage();
             }
             else if (stage == Stages.Unit)
             {
                 unitBarcode = Barcode;
                 goToNextStage();
             }
         }
     }
 }