Пример #1
0
        //private static IMessageAdapter GetInnerAdapter(IMessageAdapter adapter)
        //{
        //	while (true)
        //	{
        //		var wrapper = adapter as IMessageAdapterWrapper;
        //		if (wrapper == null)
        //			break;

        //		adapter = wrapper.InnerAdapter;
        //	}

        //	return adapter;
        //}

        private GridRow CreateRow(IMessageAdapter adapter)
        {
            if (adapter == null)
            {
                throw new ArgumentNullException(nameof(adapter));
            }

            var innerAdapter = adapter.Clone();            //GetInnerAdapter(adapter);

            var info = ConnectorsInfo.FirstOrDefault(i => i.AdapterType.IsInstanceOfType(innerAdapter));

            if (info == null)
            {
                throw new ArgumentException(LocalizedStrings.Str1553Params.Put(innerAdapter.GetType()), nameof(adapter));
            }

            return(new GridRow(info, adapter /*, innerAdapter*/)
            {
                IsEnabled = Adapter.InnerAdapters[adapter] != -1
            });
        }