public static Dictionary <string, string> GetPrimaryKeys(JupiterTables Table) { Dictionary <string, string> pks = new Dictionary <string, string>(); switch (Table) { case JupiterTables.BOREHOLE: pks.Add("BOREHOLENO", ""); break; case JupiterTables.SCREEN: pks.Add("BOREHOLENO", ""); pks.Add("SCREENNO", ""); break; case JupiterTables.DRWPLANTINTAKE: pks.Add("INTAKEPLANTID", ""); break; default: break; } return(pks); }
public ChangeDescription(JupiterTables Table) { this.Table = Table; PrimaryKeys = JupiterDescription.GetPrimaryKeys(Table); ChangeValues = new List<Change>(); Comments = new List<string>(); Date = DateTime.Now; }
public ChangeDescription(JupiterTables Table) { this.Table = Table; PrimaryKeys = JupiterDescription.GetPrimaryKeys(Table); ChangeValues = new List <Change>(); Comments = new List <string>(); Date = DateTime.Now; }
/// <summary> /// Returns true if the row is found. The LatestDate can still be null /// </summary> /// <param name="Table"></param> /// <param name="PrimaryKeys"></param> /// <param name="LatestDate"></param> /// <returns></returns> public bool TryGetLatestDate(JupiterTables Table, Dictionary<string, string> PrimaryKeys, out DateTime? LatestDate) { LatestDate = null; if (PrimaryKeys.Values.Any(var => var == "")) return false; string sql = "select INSERTDATE, UPDATEDATE from " + Table.ToString(); switch (Table) { case JupiterTables.BOREHOLE: sql = sql + " WHERE " + PrimaryKeys.First().Key + " = '" + PrimaryKeys.First().Value + "'"; break; case JupiterTables.SCREEN: sql = sql + " WHERE BOREHOLENO = '" + PrimaryKeys["BOREHOLENO"] + "' and SCREENNO = " + PrimaryKeys["SCREENNO"]; break; case JupiterTables.DRWPLANTINTAKE: sql = sql + " WHERE " + PrimaryKeys.First().Key + " = " + PrimaryKeys.First().Value + ""; break; default: break; } OleDbCommand command = new OleDbCommand(sql, odb); OleDbDataReader reader2; reader2 = command.ExecuteReader(); reader2.Read(); LatestDate = null; if (!reader2.HasRows) return false; DateTime UpdateDate; if (!reader2.IsDBNull(0)) { LatestDate = reader2.GetDateTime(0); } if (!reader2.IsDBNull(1)) { UpdateDate = reader2.GetDateTime(1); if (LatestDate.HasValue) { if (LatestDate.Value.CompareTo(UpdateDate)<0) LatestDate = UpdateDate; } else LatestDate = UpdateDate; } command.Dispose(); reader2.Dispose(); return true; }
public static Dictionary<string, string> GetPrimaryKeys(JupiterTables Table) { Dictionary<string, string> pks = new Dictionary<string, string>(); switch (Table) { case JupiterTables.BOREHOLE: pks.Add("BOREHOLENO", ""); break; case JupiterTables.SCREEN: pks.Add("BOREHOLENO", ""); pks.Add("SCREENNO", ""); break; case JupiterTables.DRWPLANTINTAKE: pks.Add("INTAKEPLANTID", ""); break; default: break; } return pks; }
/// <summary> /// Returns true if the row is found. The LatestDate can still be null /// </summary> /// <param name="Table"></param> /// <param name="PrimaryKeys"></param> /// <param name="LatestDate"></param> /// <returns></returns> public bool TryGetLatestDate(JupiterTables Table, Dictionary <string, string> PrimaryKeys, out DateTime?LatestDate) { LatestDate = null; if (PrimaryKeys.Values.Any(var => var == "")) { return(false); } string sql = "select INSERTDATE, UPDATEDATE from " + Table.ToString(); switch (Table) { case JupiterTables.BOREHOLE: sql = sql + " WHERE " + PrimaryKeys.First().Key + " = '" + PrimaryKeys.First().Value + "'"; break; case JupiterTables.SCREEN: sql = sql + " WHERE BOREHOLENO = '" + PrimaryKeys["BOREHOLENO"] + "' and SCREENNO = " + PrimaryKeys["SCREENNO"]; break; case JupiterTables.DRWPLANTINTAKE: sql = sql + " WHERE " + PrimaryKeys.First().Key + " = " + PrimaryKeys.First().Value + ""; break; default: break; } OleDbCommand command = new OleDbCommand(sql, odb); OleDbDataReader reader2; reader2 = command.ExecuteReader(); reader2.Read(); LatestDate = null; if (!reader2.HasRows) { return(false); } DateTime UpdateDate; if (!reader2.IsDBNull(0)) { LatestDate = reader2.GetDateTime(0); } if (!reader2.IsDBNull(1)) { UpdateDate = reader2.GetDateTime(1); if (LatestDate.HasValue) { if (LatestDate.Value.CompareTo(UpdateDate) < 0) { LatestDate = UpdateDate; } } else { LatestDate = UpdateDate; } } command.Dispose(); reader2.Dispose(); return(true); }