private void OnNext(SipAddressBindingDiagnosticsInfo info) { var rowItem = new RegistrarRowInfo( info.AddressBinding.Host.ToString(), info.AddressBinding.StartTime.ToString("hh:mm:ss"), info.AddressBinding.AddressOfRecord, info.AddressBinding.Expires, info.AddressBinding.EndTime.ToString("hh:mm:ss"), info.AddressBinding); var found = _bindingList.FirstOrDefault(i => i.Item.AddressOfRecord == rowItem.AddressOfRecord && i.Item.Host.Equals(rowItem.Item.Host)); if (found != null) { if (info.Operation == AddressBindingServiceOperation.Remove || info.Operation == AddressBindingServiceOperation.CleanUp) { _bindingList.Remove(found); } else if (info.Operation == AddressBindingServiceOperation.Update) { found.Update(rowItem); } } else if(info.Operation == AddressBindingServiceOperation.Add || info.Operation == AddressBindingServiceOperation.Update) { rowItem.DisplayId = _bindingList.Count.ToString(); _bindingList.Insert(0, rowItem); } }
public void Update(RegistrarRowInfo rtInfo) { Expires = rtInfo.Expires; StartTime = rtInfo.StartTime; EndTime = rtInfo.EndTime; }