예제 #1
0
            public void Validate_Serial_Validates(CreateEndpoint command, CreateEndpointValidator subject)
            {
                // Arrange

                // Act
                var result = subject.TestValidate(command);

                // Assert
                result.ShouldNotHaveAnyValidationErrors();
            }
예제 #2
0
            public void Validate_EmptySerial_Throws(CreateEndpointValidator subject)
            {
                // Arrange

                // Act
                var result = subject.TestValidate(new CreateEndpoint {
                    SerialNumber = string.Empty
                });

                // Assert
                result.ShouldHaveValidationErrorFor(r => r.SerialNumber);
            }
예제 #3
0
        private async Task CreateEndpoint(CancellationToken cancellationToken)
        {
            CreateEndpoint command = new CreateEndpoint();

            Console.Write("Insira o número serial do Endpoint: ");
            command.SerialNumber = Console.ReadLine();
            Console.Write("Insira o id do modelo do medidor do Endpoint: ");
            command.MeterModel = (MeterModels)int.Parse(Console.ReadLine());
            Console.Write("Insira o número do medidor do Endpoint: ");
            command.MeterNumber = int.Parse(Console.ReadLine());
            Console.Write("Insira a versão do firmware do medidor do Endpoint: ");
            command.MeterFirmwareVersion = Console.ReadLine();
            Console.Write("Insira o estado do switch do Endpoint: ");
            command.SwitchState = (SwitchStates)int.Parse(Console.ReadLine());

            CreateEndpointValidator validator = new CreateEndpointValidator();
            var validation = validator.Validate(command);

            if (!validation.IsValid)
            {
                Console.WriteLine(validation.Errors.FirstOrDefault());
            }
            else
            {
                try
                {
                    await _mediator.Send(command, cancellationToken);
                }
                catch (InvalidOperationException)
                {
                    Console.WriteLine($"Já existe um Endpoint com o número serial {command.SerialNumber}.");
                }
                catch (Exception)
                {
                    Console.WriteLine("Um erro inesperado ocorreu");
                }
            }
            Console.WriteLine("-------------------------------------");
        }