예제 #1
0
        public void TestUpdate()
        {
            string terminalSerialNumber = "BB";

            InsertFake();

            var endpoint = _endpointService.Get(terminalSerialNumber);

            endpoint.ChangeState = (int)EnumChangeState.Armed;

            _endpointService.Save(endpoint);
        }
예제 #2
0
        /// <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();
        }
예제 #3
0
        /// <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();
        }
예제 #4
0
        /// <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);
        }
예제 #5
0
        /// <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();
        }
예제 #6
0
        /// <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();
        }