/// <summary> /// Выводит в консоль информацию о прохождении тестов /// </summary> private static void PrintTestsInfo() { foreach (var testInfo in TestsInfo) { Console.Write("Тест " + testInfo.Key + " " + (testInfo.Value ? "Пройден" : "Провален")); } }
/// <summary> /// Обработчик ввода символа с клавиатуры /// </summary> /// <param name="virtualKeyCode">Код введенного символа</param> public static void KeyCodeEntered(int virtualKeyCode) { if (IsCharacterScanned()) { if (KeyIsNumber(virtualKeyCode)) { var scannedCharacter = (char)virtualKeyCode; _barCodeBuilder.Append(scannedCharacter); } else if (virtualKeyCode == AsciiCodeOfReturn) { _lastCharacterTime = 0; var barCodeCharacters = new List <char>(); barCodeCharacters.AddRange(_barCodeBuilder.ToString()); var finalBarCode = _firstCharacter + new string(barCodeCharacters.Where((c, i) => i % 2 != 0).ToArray()); Console.Write("Код просканирован: " + finalBarCode); //TODO: При реальном сканировании убрать рандомайзер finalBarCode = RandomBarCodeGenerator.GetRandomBarCode(); BoxContent.Instance.PerformCommand(); ScanningCommand.DoWork(CurrentBoxId, finalBarCode, Action); } } else { _firstCharacter = (char)virtualKeyCode; _barCodeBuilder = new StringBuilder(); } }
/// <summary> /// Переключает активную базу данных в дженерик репозиториях /// </summary> /// <param name="type">Удаленная или локальная база</param> public static void SetActiveDataBase(ConnectionType type) { var values = System.Enum.GetValues(typeof(DocumentType)).Cast <DocumentType>(); var types = values.Select(value => Type.GetType("WpfApp.Domain." + value)).ToList(); types.ForEach(t => { var repository = typeof(Repository <>).MakeGenericType(t); var method = repository.GetMethod("SetConnectionType"); method?.Invoke(null, new object[] { type }); }); Console.Write( "Активная база данных переключена на" + (type == ConnectionType.Local ? "MongoDb" : "SqlServer") ); }
//TODO: Реализовать взаимодействие с WebApi static async Task RunAsync() { Client.BaseAddress = new Uri("http://localhost:52316/"); Client.DefaultRequestHeaders.Accept.Clear(); Client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); try { var storage = await GetStoragesAsync(); Console.Write(storage.ToString()); } catch (Exception e) { Console.Write(e.Message); } }