Ejemplo n.º 1
0
        public ParameterLog GetStatus()
        {
            lock (_itemsLock)
            {
                if (_items.Count == 0)
                {
                    return(null);
                }

                List <BinderParameterLogItem> logItems = new List <BinderParameterLogItem>();

                foreach (Tuple <ParameterDescriptor, string, IWatchable> item in _items)
                {
                    ParameterDescriptor parameterDescriptor = item.Item1;
                    string     value     = item.Item2;
                    IWatchable watchable = item.Item3;
                    IWatcher   watcher;

                    if (watchable != null)
                    {
                        watcher = watchable.Watcher;
                    }
                    else
                    {
                        watcher = null;
                    }

                    ParameterLog itemStatus;

                    if (watcher != null)
                    {
                        itemStatus = watcher.GetStatus();
                    }
                    else
                    {
                        itemStatus = null;
                    }

                    BinderParameterLogItem logItem = new BinderParameterLogItem
                    {
                        Descriptor = parameterDescriptor,
                        Value      = value,
                        Log        = itemStatus
                    };
                    logItems.Add(logItem);
                }

                return(new BinderParameterLog {
                    Items = logItems
                });
            }
        }
        public ParameterLog GetStatus()
        {
            lock (_itemsLock)
            {
                if (_items.Count == 0)
                {
                    return null;
                }

                List<BinderParameterLogItem> logItems = new List<BinderParameterLogItem>();

                foreach (Tuple<ParameterDescriptor, string, IWatchable> item in _items)
                {
                    ParameterDescriptor parameterDescriptor = item.Item1;
                    string value = item.Item2;
                    IWatchable watchable = item.Item3;
                    IWatcher watcher;

                    if (watchable != null)
                    {
                        watcher = watchable.Watcher;
                    }
                    else
                    {
                        watcher = null;
                    }

                    ParameterLog itemStatus;

                    if (watcher != null)
                    {
                        itemStatus = watcher.GetStatus();
                    }
                    else
                    {
                        itemStatus = null;
                    }
                    
                    BinderParameterLogItem logItem = new BinderParameterLogItem
                    {
                        Descriptor = parameterDescriptor,
                        Value = value,
                        Log = itemStatus
                    };
                    logItems.Add(logItem);
                }

                return new BinderParameterLog { Items = logItems };
            }
        }