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; } }
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; } }
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; } }