Beispiel #1
0
 private static void Menu(Connection con)
 {
     Console.WriteLine("Specjalne operacje:");
     foreach (KeyValuePair <string, string> elem in menuInstruction)
     {
         Console.WriteLine(elem.Key + " => '" + elem.Value + "'");
     }
     while (true)
     {
         Console.Write("> ");
         string command = Console.ReadLine();
         if (menuOption.ContainsKey(command))
         {
             command = menuOption[command](con);
         }
         try
         {
             ResponseAgregator response = con.Query(command);
             Console.Write(ResponseAgregatorToString(response));
         }
         catch (Exception ex)
         {
             Console.WriteLine(ex.Message);
         }
     }
 }
Beispiel #2
0
        public static void Init(Connection con)
        {
            ResponseAgregator data = con.Query("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' ORDER BY TABLE_NAME ");

            string[] columnNames = data.Values.Select(x => x[0].ToString()).ToArray();
            foreach (string columnName in columnNames)
            {
                List <object> newDatabaseTableData = new List <object>();
                Type          acttype = Type.GetType("BDProject.Core.Data." + columnName + ", BDProject.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null", true);
                MethodInfo    conv    = acttype.GetMethod("Convert");
                acttype.GetMethods(BindingFlags.Static);
                data = con.Query("SELECT * FROM " + columnName);
                foreach (var elem in data.Values)
                {
                    newDatabaseTableData.Add(conv.Invoke(null, new object[] { elem }));
                }
                localDatabase.Add(columnName, newDatabaseTableData);
            }
        }
Beispiel #3
0
        public static string ResponseAgregatorToString(ResponseAgregator response)
        {
            string strResponse = "";

            int[] columnWidth = new int[response.ColumnNames.Count()];
            for (int i = 0; i < columnWidth.Length; i++)
            {
                columnWidth[i] = response.ColumnNames.ElementAt(i).Length;
            }
            foreach (object[] values in response.Values)
            {
                for (int i = 0; i < values.Length; i++)
                {
                    if (values[i].ToString().Length > columnWidth[i])
                    {
                        columnWidth[i] = values[i].ToString().Length;
                    }
                }
            }
            string strColumns = new string('-', columnWidth.Sum() + columnWidth.Length * 3 + 1); strColumns += '\n';

            for (int i = 0; i < columnWidth.Length; i++)
            {
                string columnName = response.ColumnNames.ElementAt(i);
                strColumns += "| " + columnName.ToUpper() + new string(' ', columnWidth[i] - columnName.Length + 1);
            }
            strColumns  += "|\n";
            strColumns  += new string('-', columnWidth.Sum() + columnWidth.Length * 3 + 1) + "\n";
            strResponse += strColumns;
            foreach (object[] values in response.Values)
            {
                for (int i = 0; i < values.Length; i++)
                {
                    string valueStr = values[i].ToString();
                    strResponse += "| " + valueStr + new string(' ', columnWidth[i] - valueStr.Length + 1);
                }
                strResponse += "|\n";
            }
            strResponse += new string('-', columnWidth.Sum() + columnWidth.Length * 3 + 1) + "\n";
            return(strResponse);
        }