示例#1
0
        public RegisterEndpointCommand GetRegisterEndpointCommand()
        {
            lock (_lock)
            {
                var result = new RegisterEndpointCommand
                {
                    MachineName   = Environment.MachineName,
                    IPv4Address   = _ipv4Address,
                    BaseDirectory = AppDomain.CurrentDomain.BaseDirectory,
                    EntryAssemblyQualifiedName = _entryAssemblyQualifiedName,
                    InboxWorkQueueUri          = _serviceBusConfiguration.Inbox.WorkQueueUri,
                    InboxDeferredQueueUri      = _serviceBusConfiguration.Inbox.HasDeferredQueue
                        ? _serviceBusConfiguration.Inbox.DeferredQueueUri
                        : string.Empty,
                    InboxErrorQueueUri = _serviceBusConfiguration.Inbox.ErrorQueueUri,
                    OutboxWorkQueueUri = _serviceBusConfiguration.HasOutbox
                        ? _serviceBusConfiguration.Outbox.WorkQueueUri
                        : string.Empty,
                    OutboxErrorQueueUri = _serviceBusConfiguration.HasOutbox
                        ? _serviceBusConfiguration.Outbox.ErrorQueueUri
                        : string.Empty,
                    ControlInboxWorkQueueUri = _serviceBusConfiguration.HasControlInbox
                        ? _serviceBusConfiguration.ControlInbox.WorkQueueUri
                        : string.Empty,
                    ControlInboxErrorQueueUri = _serviceBusConfiguration.HasControlInbox
                        ? _serviceBusConfiguration.ControlInbox.ErrorQueueUri
                        : string.Empty
                };

                foreach (var messageType in _messageTypes)
                {
                    result.MessageTypesHandled.Add(messageType);
                }

                foreach (var association in _associations)
                {
                    result.MessageTypeAssociations.Add(association);
                }

                foreach (var dispatched in _dispatched)
                {
                    result.MessageTypesDispatched.Add(dispatched);
                }

                foreach (var messageTypeMetric in _messageTypeMetrics.Values)
                {
                    result.MessageTypeMetrics.Add(messageTypeMetric);
                }

                _messageTypes.Clear();
                _associations.Clear();
                _dispatched.Clear();
                _messageTypeMetrics.Clear();

                return(result);
            }
        }
        public GenericCommandResult Post(string route, RegisterEndpointCommand command)
        {
            HttpResponseMessage response = _http.PostAsync(
                $"{Settings.API_URL}/{route}",
                new StringContent(JsonConvert.SerializeObject(command), Encoding.UTF8, "application/json")).Result;
            string content = response.Content.ReadAsStringAsync().Result;
            GenericCommandResult result = JsonConvert.DeserializeObject <GenericCommandResult>(content);

            return(result);
        }
示例#3
0
        static void Create()
        {
            Console.WriteLine("Digite o Número Serial");
            var serialNumber = Console.ReadLine();

            Console.WriteLine();

            Console.WriteLine("Digite o ID do Modelo do Medidor");
            var meterModelId = Console.ReadLine();

            Console.WriteLine();

            Console.WriteLine("Número do Modelo do Meididor");
            var meterNumber = Console.ReadLine();

            Console.WriteLine();

            Console.WriteLine("Digite a Versão do Firmware");
            var meterFirmwareVersion = Console.ReadLine();

            Console.WriteLine();

            Console.WriteLine("Digite o Estado");
            Console.WriteLine();
            Console.WriteLine("0 - Desconectado");
            Console.WriteLine("1 - Conectado");
            Console.WriteLine("2 - Armado");
            var switchState = Console.ReadLine();

            Console.WriteLine();

            RegisterEndpointCommand command = new RegisterEndpointCommand(
                serialNumber,
                int.Parse(meterModelId),
                int.Parse(meterNumber),
                meterFirmwareVersion,
                (EEndpointState)Enum.GetValues(typeof(EEndpointState)).GetValue(int.Parse(switchState.ToString())));

            GenericCommandResult result = _service.Post("v1/endpoints", command);

            Console.WriteLine(result.Message);
        }
 public RegisterEndpointHanlderTests()
 {
     _endpointRepository      = new EndpointFakeRepository();
     _endpointHandler         = new EndpointHandler(_endpointRepository);
     _registerEndpointCommand = new RegisterEndpointCommand("2", 1, 1, "v 0.0.1", EEndpointState.Connected);
 }
 public GenericCommandResult Post(
     [FromBody] RegisterEndpointCommand command,
     [FromServices] EndpointHandler handler)
 {
     return((GenericCommandResult)handler.Handle(command));
 }