Пример #1
0
        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);
            }
        }
Пример #2
0
 public void Update(RegistrarRowInfo rtInfo)
 {
     Expires = rtInfo.Expires;
     StartTime = rtInfo.StartTime;
     EndTime = rtInfo.EndTime;
 }