public void Put(DigitalInputCollection collection) { if (collection == null) { throw new ArgumentNullException(nameof(RelayCollection), "DigitalInputCollection was nullable"); } var request = new RestRequest(_requestUrl, Method.PUT) { Timeout = 2500 }; var jsonRelayCollection = JsonConvert.SerializeObject(collection); var jsonParts = this.ConstructJsonBodyParts(jsonRelayCollection); request.AddJsonBody(jsonParts); _mxioContext.MandatoryHeaders.Select(t => new { t.Key, t.Value }).ToList().ForEach(t => request.AddHeader(t.Key, t.Value)); IRestResponse response = _mxioContext.Client.Execute(request); if (response.StatusCode != HttpStatusCode.OK) { throw new Exception($"Put query was failder with {response.StatusCode}"); } }
private async Task ObservableStateAsync(object state) { await Task.Run(async() => { Ping ping = new Ping(); PingReply reply = await ping.SendPingAsync(IPAddress.Parse(_mxioContext.Client.BaseUrl.Host)); if (reply.Status != IPStatus.Success) { return; } DigitalInputCollection digitalInputs = default; try { digitalInputs = await this.GetAsync(); } finally { } if (_lastdigitalInputs == null) { _lastdigitalInputs = digitalInputs; return; } var differentDigitalInputs = digitalInputs.Where(t => _lastdigitalInputs.FirstOrDefault(k => k.Index == t.Index).Status != t.Status); if (differentDigitalInputs.Count() != 0) { OnChanged?.Invoke(this, digitalInputs); } _lastdigitalInputs = digitalInputs; }); }
private void SetDIsStatus(DigitalInputCollection e) { DIContacts = new ObservableCollection <DIModel>(e.Select(t => new DIModel { DigitalInput = t })); }