Exemple #1
0
 public static void Clear()
 {
     try {
         SQLiteDataAccess.ExecuteSQL("Delete from VMwareHostSystemInformations");
     }
     catch (Exception ex) {
         //Let IIS handle the errors, but using own logging.
         Loggers.Log(Level.Error, "Failed clearing vhost system info", ex);
         throw;
     }
 }
        public static void AddOrUpdate(VMwareHostConnectionInfo row)
        {
            try {
                var propNames  = new List <string>();
                var paramNames = new List <string>();
                var parameters = new List <SQLiteParameter>();

                int paramI = 0;
                foreach (PropertyInfo propInfo in row.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public))
                {
                    propNames.Add(propInfo.Name);

                    string paramName = "@param" + (++paramI);
                    paramNames.Add(paramName);
                    parameters.Add(new SQLiteParameter(paramName, propInfo.GetValue(row)));
                }
                if (row.username == ".&DO_NOT_UPDATE_Credentials&.")
                {
                    int fieldI = propNames.IndexOf("username");
                    propNames.RemoveAt(fieldI);
                    paramNames.RemoveAt(fieldI);
                    parameters.RemoveAt(fieldI);

                    fieldI = propNames.IndexOf("password");
                    propNames.RemoveAt(fieldI);
                    paramNames.RemoveAt(fieldI);
                    parameters.RemoveAt(fieldI);
                }

                if (Get(row.ipOrHostname) == null)
                {
                    SQLiteDataAccess.ExecuteSQL("Insert into VMwareHostConnectionInfos(" + string.Join(",", propNames) + ") values(" + string.Join(",", paramNames) + ")", CommandType.Text, null, parameters.ToArray());
                }
                else
                {
                    var set = new List <string>();
                    for (int i = 0; i != propNames.Count; i++)
                    {
                        set.Add(propNames[i] + "=" + paramNames[i]);
                    }


                    string paramName = "@param" + (++paramI);
                    parameters.Add(new SQLiteParameter(paramName, row.ipOrHostname));

                    SQLiteDataAccess.ExecuteSQL("Update VMwareHostConnectionInfos set " + string.Join(",", set) + " where ipOrHostname=" + paramName, CommandType.Text, null, parameters.ToArray());
                }
            }
            catch (Exception ex) {
                //Let IIS handle the errors, but using own logging.
                Loggers.Log(Level.Error, "Failed adding or updating vhost connection info", ex, new object[] { row });
                throw;
            }
        }
Exemple #3
0
        public static void AddOrUpdate(VMwareHostSystemInformation row)
        {
            try {
                var propNames  = new List <string>();
                var paramNames = new List <string>();
                var parameters = new List <SQLiteParameter>();

                int paramI = 0;
                foreach (PropertyInfo propInfo in row.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public))
                {
                    propNames.Add(propInfo.Name);

                    string paramName = "@param" + (++paramI);
                    paramNames.Add(paramName);
                    parameters.Add(new SQLiteParameter(paramName, propInfo.GetValue(row)));
                }

                if (Get(row.ipOrHostname) == null)
                {
                    SQLiteDataAccess.ExecuteSQL("Insert into VMwareHostSystemInformations(" + string.Join(",", propNames) + ") values(" + string.Join(",", paramNames) + ")", CommandType.Text, null, parameters.ToArray());
                }
                else
                {
                    var set = new List <string>();
                    for (int i = 0; i != propNames.Count; i++)
                    {
                        set.Add(propNames[i] + "=" + paramNames[i]);
                    }


                    string paramName = "@param" + (++paramI);
                    parameters.Add(new SQLiteParameter(paramName, row.ipOrHostname));

                    SQLiteDataAccess.ExecuteSQL("Update VMwareHostSystemInformations set " + string.Join(",", set) + " where ipOrHostname=" + paramName, CommandType.Text, null, parameters.ToArray());
                }
            }
            catch (Exception ex) {
                //Let IIS handle the errors, but using own logging.
                Loggers.Log(Level.Error, "Failed adding or updating vhost system info to the database", ex, new object[] { row });
                throw;
            }
        }
Exemple #4
0
        public static void Remove(params string[] ipOrHostnames)
        {
            try {
                var paramNames = new List <string>();
                var parameters = new List <SQLiteParameter>();

                int paramI = 0;
                foreach (string hostname in ipOrHostnames)
                {
                    string paramName = "@param" + (++paramI);
                    paramNames.Add(paramName);
                    parameters.Add(new SQLiteParameter(paramName, hostname));
                }

                SQLiteDataAccess.ExecuteSQL("Delete from VMwareHostSystemInformations where ipOrHostname in(" + string.Join(",", paramNames) + ")", CommandType.Text, null, parameters.ToArray());
            }
            catch (Exception ex) {
                //Let IIS handle the errors, but using own logging.
                Loggers.Log(Level.Error, "Failed removing vhost system info", ex, new object[] { ipOrHostnames });
                throw;
            }
        }