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; } } }
/// <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); } }
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; } } }
/// <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("Штрихкод уже используеться!"); } } } }
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; } } }