Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
 public ChangeDescription(JupiterTables Table)
 {
   this.Table = Table;
   PrimaryKeys = JupiterDescription.GetPrimaryKeys(Table);
   ChangeValues = new List<Change>();
   Comments = new List<string>();
   Date = DateTime.Now;
 }
Ejemplo n.º 3
0
 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;
    }
Ejemplo n.º 5
0
    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;
    }
Ejemplo n.º 6
0
        /// <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);
        }