public static Dictionary2D <string, int, object> ToDictionary2D(this DataTable dataTable)
        {
            IList <string> columnsName = new List <string>();

            for (int i = 0; i < dataTable.Columns.Count; ++i)
            {
                columnsName.Add(dataTable.Columns[i].ColumnName);
            }
            Dictionary2D <string, int, object> result = new Dictionary2D <string, int, object>(columnsName);

            for (int i = 0; i < dataTable.Rows.Count; ++i)
            {
                result.AddLine(i + 1);
                object[] row = dataTable.Rows[i].ItemArray;
                for (int j = 0; j < row.Length; ++j)
                {
                    result[j, i] = row[j];
                }
            }
            return(result);
        }
        public StatementExecutor(List <VariableInfo> variables, MathStatement statement, ITcpCommunicator communicator, ILocalVariables localVariables)
        {
            IsRunning      = false;
            _cancel        = false;
            _nan           = false;
            Communicator   = communicator;
            LocalVariables = localVariables;

            _localAssignees  = new List <string>();
            _localVariables  = new List <string>();
            _remoteAssignees = new Dictionary2D <IPAddress, string>();
            _remoteVariables = new Dictionary2D <IPAddress, string>();
            _ms = statement;

            foreach (var v in variables)
            {
                if (v.IsAssignee)
                {
                    if (v.IsRemote)
                    {
                        _remoteAssignees.Add(v.Ip, v.LocalName);
                    }
                    else
                    {
                        _localAssignees.Add(v.LocalName);
                    }
                }
                else if (v.IsRemote)
                {
                    _remoteVariables.Add(v.Ip, v.LocalName);
                }
                else
                {
                    _localVariables.Add(v.LocalName);
                }
            }
        }
        public static Dictionary2D <string, int, object> ToDictionary2D(this IDataReader dataReader)
        {
            using (dataReader)
            {
                IList <string> columnsName = new List <string>();
                for (int i = 0; i < dataReader.FieldCount; ++i)
                {
                    columnsName.Add(dataReader.GetName(i));
                }
                Dictionary2D <string, int, object> result = new Dictionary2D <string, int, object>(columnsName);

                int j = 1;
                while (dataReader.Read())
                {
                    result.AddLine(j);
                    foreach (string columnName in columnsName)
                    {
                        result[columnName, j] = dataReader[columnName];
                    }
                    ++j;
                }
                return(result);
            }
        }
示例#4
0
 public DataPresenter()
 {
     openedElements = new Hashtable();
     links = new Dictionary2D();
     colors = new Hashtable();
 }