Beispiel #1
0
        public ForwarderMessage MakeMeterEditionPackageForForwarder(MeterDto meterDto)
        {
            ForwarderMessage forwarderMessage;

            if (meterDto.Smc != null)
            {
                forwarderMessage = new ForwarderMessage
                {
                    MessageContent = JsonConvert.SerializeObject(new EletraSmcModels.MeterWithSmc
                    {
                        MeterDto = _mapper.Map <MeterDto, EletraSmcModels.MeterDto>(meterDto),
                        Serial   = meterDto.Smc.Serial
                    }),
                    Uri = _middlewares.EletraSmc.BaseUrl + _middlewares.EletraSmc.Meters.SubRoute
                };
            }
            else
            {
                forwarderMessage = new ForwarderMessage
                {
                    MessageContent = JsonConvert.SerializeObject(_mapper.Map <EletraSmiModels.MeterDto>(meterDto)),
                    Uri            = _middlewares.EletraSmi.BaseUrl + _middlewares.EletraSmi.Meters.SubRoute
                };
            }

            return(forwarderMessage);
        }
Beispiel #2
0
 private void SendCommand(ForwarderMessage message)
 {
     using (var scope = _serviceProvider.CreateScope())
     {
         var scopedForwarderSender = scope.ServiceProvider.GetRequiredService <IForwarderSenderService>();
         scopedForwarderSender.SendPost(message);
     }
 }
Beispiel #3
0
        public ForwarderMessage MakeSmcDeletionPackageForForwarder(SmcDto smcDto)
        {
            var forwarderMessage = new ForwarderMessage
            {
                MessageContent = "", //todo
                Uri            = _middlewares.EletraSmc.BaseUrl + _middlewares.EletraSmc.Smc.SubRoute + "?serial=" + smcDto.Serial
            };

            return(forwarderMessage);
        }
Beispiel #4
0
        private void SendAndWaitAnswerOrTimeOut(ForwarderMessage message)
        {
            SendCommand(message);
            var      start = DateTime.Now;
            DateTime end;

            do
            {
                end = DateTime.Now;
            } while ((end - start).TotalSeconds <= _commandRules.CommandAnswerTimeoutInSeconds && !Answered);
        }
Beispiel #5
0
 private HttpResponseMessage SendCommand(ForwarderMessage forwarderMessage)
 {
     try
     {
         return(_forwarderSenderService.SendPost(forwarderMessage).Result);
     }
     catch (Exception e)
     {
         throw;
     }
 }
Beispiel #6
0
        public ForwarderMessage MakeSmcCreationPackageForForwarder(SmcDto smcDto)
        {
            var forwarderMessage = new ForwarderMessage
            {
                MessageContent = JsonConvert.SerializeObject(
                    new EletraSmcModels.SmcWithMeter {
                    SmcDto = _mapper.Map <SmcDto, EletraSmcModels.SmcDto>(smcDto)
                }),
                Uri = _middlewares.EletraSmc.BaseUrl + _middlewares.EletraSmc.Smc.SubRoute
            };

            return(forwarderMessage);
        }
Beispiel #7
0
        public ForwarderMessage MakeMeterRelayStatusCommandForForwarder(MeterDto meterDto,
                                                                        CommandTicketDto commandTicketDto)
        {
            var forwarderMessage = new ForwarderMessage
            {
                MessageContent = "", //todo
                Uri            = _middlewares.EletraSmi.BaseUrl
                                 + _middlewares.EletraSmi.Meters.SubRoute
                                 + _middlewares.EletraSmi.Meters.RelayStatus
                                 + "?serialMeter=" + meterDto.Serial
                                 + "&commandId=" + commandTicketDto.CommandId,
                CommandId = commandTicketDto.CommandId
            };

            return(forwarderMessage);
        }
        public async Task <HttpResponseMessage> SendPost(ForwarderMessage forwarderMessage)
        {
            try
            {
                var content = MakeMessageBody(forwarderMessage.MessageContent);
                using (var handler = new HttpClientHandler())
                {
                    handler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => true;
                    var httpClient = new HttpClient(handler);
                    var response   = await httpClient.PostAsync(forwarderMessage.Uri, content);

                    var teste = response.Content.ReadAsStringAsync().Result;

                    return(response);
                }
            }
            catch (Exception e)
            {
                throw;
            }
        }
Beispiel #9
0
        public ForwarderMessage MakeMeterDeletionPackageForForwarder(MeterDto meterDto)
        {
            var forwarderMessage = new ForwarderMessage
            {
                MessageContent = ""
            };

            if (meterDto.Smc != null)
            {
                forwarderMessage.Uri = _middlewares.EletraSmc.BaseUrl + _middlewares.EletraSmc.Meters.SubRoute
                                       + "?serialSmc=" + meterDto.Smc.Serial
                                       + "&serialMeter" + meterDto.Serial;
            }
            else
            {
                forwarderMessage.Uri = _middlewares.EletraSmi.BaseUrl + _middlewares.EletraSmi.Meters.SubRoute
                                       + "?serial=" + meterDto.Serial;
            }


            return(forwarderMessage);
        }
        public HttpResponseMessage SendDelete(ForwarderMessage forwarderMessage)
        {
            try
            {
                using (var handler = new HttpClientHandler())
                {
                    handler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => true;
                    Task <HttpResponseMessage> response;
                    using (var client = new HttpClient(handler))
                    {
                        response = client.DeleteAsync(forwarderMessage.Uri);
                        response.Wait();
                    }

                    return(response.Result);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
        }
Beispiel #11
0
 public void AddTicketToThread(TicketDto ticketDto, ForwarderMessage forwarderMessage,
                               PriorityValue priorityValue, CommandDeviceType commandDeviceType)
 {
     AddTicketToThread(ticketDto, new [] { forwarderMessage }, priorityValue, commandDeviceType);
 }
 public TicketThreadObject(TicketDto ticket, PriorityValue priorityValue, ForwarderMessage forwarderMessage)
 {
     Ticket        = ticket;
     PriorityValue = priorityValue;
     ForwarderMessages.Add(forwarderMessage);
 }