public void TestUpdate() { string terminalSerialNumber = "BB"; InsertFake(); var endpoint = _endpointService.Get(terminalSerialNumber); endpoint.ChangeState = (int)EnumChangeState.Armed; _endpointService.Save(endpoint); }
/// <summary> /// Formulário de detalhes do endpoint /// </summary> public static void FormDetail() { Console.WriteLine("\n----------------------------------------------------------------"); Console.WriteLine("Gerenciador de Endpoints - Endpoint Cadastrado\r"); Console.WriteLine("----------------------------------------------------------------\n\n"); Console.Write("Informe o número de série do terminal: "); var idTerminalSerialNumber = Console.ReadLine(); var endpoint = _endpointService.Get(idTerminalSerialNumber); if (endpoint != null) { Console.WriteLine("\nSegue abaixo os detalhes do Endpoint\n"); Console.WriteLine($"\tNúmero de série do terminal: {endpoint.TerminalSerialNumber}"); Console.WriteLine($"\tModelo do medidor: {Helpers.GetMeterModelDescription(endpoint.IdMeterModel)}"); Console.WriteLine($"\tNúmero do medidor: {endpoint.MeterNumber}"); Console.WriteLine($"\tVersão do firmware do medidor: {endpoint.MeterFirmwareVersion}"); Console.WriteLine($"\tMudança de estado: {Helpers.GetChangeStateDescription(endpoint.ChangeState)}"); } else { Console.WriteLine($"\nEndpoint '{idTerminalSerialNumber}' não encontrado!"); } Console.WriteLine("\nPressione qualquer tecla para voltar ao menu!"); Console.ReadKey(); Console.Clear(); ViewMenu.FormMenu(); }
/// <summary> /// Forulários de visualização de todos os cadastros /// </summary> public static void FormList() { Console.WriteLine("\n----------------------------------------------------------------"); Console.WriteLine("Gerenciador de Endpoints - Endpoints Cadastrados\r"); Console.WriteLine("----------------------------------------------------------------\n\n"); RenderLine(); RenderRow("Num. Série do terminal", "Modelo do medidor", "Número do medidor", "Versão firmware", "Estado"); RenderLine(); var endpoints = _endpointService.Get().OrderBy(x => x.TerminalSerialNumber); foreach (var endpoint in endpoints) { RenderRow(endpoint.TerminalSerialNumber , Helpers.GetMeterModelDescription(endpoint.IdMeterModel) , endpoint.MeterNumber.ToString() , endpoint.MeterFirmwareVersion , Helpers.GetChangeStateDescription(endpoint.ChangeState)); } if (endpoints.Count() == 0) { Console.WriteLine("\rNão existem dados para apresentar!"); } RenderLine(); Console.WriteLine("\rPressione qualquer tecla para voltar ao menu!"); Console.ReadKey(); Console.Clear(); ViewMenu.FormMenu(); }
/// <summary> /// Validar informações prévias do cadastro /// </summary> /// <param name="enpoint">Objeto Endpoint</param> /// <returns></returns> private static string Validate(Endpoint endpoint) { string message = string.Empty; if (string.IsNullOrEmpty(endpoint.TerminalSerialNumber)) { message = "\n\t* Número de série do terminal"; } else { var endpointCache = _endpointService.Get(endpoint.TerminalSerialNumber); if (endpointCache != null) { message += "\n\t* Número de série já existe na base de dados"; } } if (endpoint.IdMeterModel < 16 || endpoint.IdMeterModel > 19) { message += "\n\t* Modelo do medidor"; } if (endpoint.MeterNumber == 0) { message += "\n\t* Número do medidor"; } if (string.IsNullOrEmpty(endpoint.MeterFirmwareVersion)) { message += "\n\t* Versão do firmware do medidor"; } if (endpoint.ChangeState > 3) { message += "\n\t* Mudança de estado"; } return(message); }
/// <summary> /// Formulário de Delete /// </summary> public static void FormDelete() { Console.WriteLine("\n----------------------------------------------------------------"); Console.WriteLine("Gerenciador de Endpoints - Excluir\r"); Console.WriteLine("----------------------------------------------------------------\n\n"); Console.Write("Informe aqui o número de série do terminal que deseja excluir: "); var idTerminalSerialNumber = Console.ReadLine(); var endpoint = _endpointService.Get(idTerminalSerialNumber); if (endpoint != null) { Console.WriteLine("\nSegue abaixo os detalhes do Endpoint\n"); Console.WriteLine($"\tNúmero de série do terminal: {endpoint.TerminalSerialNumber}"); Console.WriteLine($"\tModelo do medidor: {Helpers.GetMeterModelDescription(endpoint.IdMeterModel)}"); Console.WriteLine($"\tNúmero do medidor: {endpoint.MeterNumber}"); Console.WriteLine($"\tVersão do firmware do medidor: {endpoint.MeterFirmwareVersion}"); Console.WriteLine($"\tMudança de estado: {Helpers.GetChangeStateDescription(endpoint.ChangeState)}"); Console.WriteLine($"\nDeseja realmente excluir o registro '{endpoint.TerminalSerialNumber}'?\n"); Console.WriteLine("\t1 - Sim"); Console.WriteLine("\t2 - Não"); Console.Write("\nInforme aqui o código da opção desejada: "); var option = Console.ReadLine(); if (option.Equals("1")) { _endpointService.Delete(endpoint); Console.Clear(); Console.WriteLine("\n\n################################################################"); Console.WriteLine("Registro excluído com sucesso\r"); Console.WriteLine("################################################################"); ViewMenu.FormMenu(); } else if (option.Equals("2")) { Console.Clear(); ViewMenu.FormMenu(); } else { Console.Clear(); Console.WriteLine("\n################################################################"); Console.WriteLine("Opção inválida!\r"); Console.WriteLine("################################################################"); FormDelete(); } } else { Console.WriteLine($"\nEndpoint '{idTerminalSerialNumber}' não encontrado!"); } Console.WriteLine("\nPressione qualquer tecla para voltar ao menu!"); Console.ReadKey(); Console.Clear(); ViewMenu.FormMenu(); }
/// <summary> /// Formulário de update /// </summary> public static void FormUpdate() { Console.WriteLine("\n----------------------------------------------------------------"); Console.WriteLine("Gerenciador de Endpoints - Update\r"); Console.WriteLine("----------------------------------------------------------------\n\n"); Console.Write("Informe o número de série do terminal: "); var idTerminalSerialNumber = Console.ReadLine(); var endpoint = _endpointService.Get(idTerminalSerialNumber); if (endpoint != null) { Console.WriteLine("\nSegue abaixo os detalhes do Endpoint\n"); Console.WriteLine($"\tNúmero de série do terminal: {endpoint.TerminalSerialNumber}"); Console.WriteLine($"\tModelo do medidor: {Helpers.GetMeterModelDescription(endpoint.IdMeterModel)}"); Console.WriteLine($"\tNúmero do medidor: {endpoint.MeterNumber}"); Console.WriteLine($"\tVersão do firmware do medidor: {endpoint.MeterFirmwareVersion}"); Console.WriteLine($"\tMudança de estado: {Helpers.GetChangeStateDescription(endpoint.ChangeState)}"); Console.WriteLine("\nSelecione o novo estado:\n"); Console.WriteLine("\t0 - Desconectado"); Console.WriteLine("\t1 - Conectado"); Console.WriteLine("\t2 - Armado\n"); Console.Write("Informe aqui o código do estado desejado: "); endpoint.ChangeState = Helpers.ValidateNumber(); if (endpoint.ChangeState > 3) { Console.Clear(); Console.WriteLine("\n\n################################################################"); Console.WriteLine("Não foi possível realizar o update, revise os campos abaixo:\r"); Console.WriteLine("################################################################"); Console.WriteLine("\n\t* Mudança de estado"); FormUpdate(); } else { _endpointService.Save(endpoint); Console.Clear(); Console.WriteLine("\n\n################################################################"); Console.WriteLine("Update realizado com sucesso\r"); Console.WriteLine("################################################################"); ViewMenu.FormMenu(); } } else { Console.WriteLine($"\nEndpoint '{idTerminalSerialNumber}' não encontrado!"); } Console.WriteLine("\nPressione qualquer tecla para voltar ao menu!"); Console.ReadKey(); Console.Clear(); ViewMenu.FormMenu(); }