public static string GetSeriesNo(string Name)
        {
            string Rv = "";
            DataTable Dt;
            string TableName;
            string FieldName;
            string Prefix;
            Int32 Digits;

            Dt = new ClsBase().pDa.GetQuery("System_DocumentSeries", "", "ModuleName = '" + Name + "'");
            if (Dt.Rows.Count > 0)
            {
                TableName = (string)Layer01_Methods.IsNull(Dt.Rows[0]["TableName"], "");
                FieldName = (string)Layer01_Methods.IsNull(Dt.Rows[0]["FieldName"], "");
                Prefix = (string)Layer01_Methods.IsNull(Dt.Rows[0]["Prefix"], "");
                Digits = (Int32)Layer01_Methods.IsNull(Dt.Rows[0]["Digits"], "");
            }
            else
            { return Rv; }

            List<Layer01_Common.Common.Layer01_Constants.Str_Parameters> Sp = new List<Layer01_Common.Common.Layer01_Constants.Str_Parameters>();
            Sp.Add(new Layer01_Common.Common.Layer01_Constants.Str_Parameters("@TableName", TableName));
            Sp.Add(new Layer01_Common.Common.Layer01_Constants.Str_Parameters("@FieldName", FieldName));
            Sp.Add(new Layer01_Common.Common.Layer01_Constants.Str_Parameters("@Prefix", Prefix));
            Sp.Add(new Layer01_Common.Common.Layer01_Constants.Str_Parameters("@Digits", Digits));

            Dt = new ClsConnection_SqlServer().ExecuteQuery("usp_GetSeriesNo", Sp).Tables[0];
            if (Dt.Rows.Count > 0)
            { Rv = (string)Dt.Rows[0][0]; }

            return Rv;
        }
        /// <summary>
        /// Constructor for this class
        /// </summary>
        /// <param name="Obj_Base">
        /// Parent Object Base
        /// </param>
        /// <param name="HeaderName">
        /// Parent Table Name, (apparently not used at all)
        /// </param>
        /// <param name="TableName">
        /// Detail Table Name
        /// </param>
        /// <param name="ViewName">
        /// Detail View Name
        /// </param>
        /// <param name="OtherLoadCondition">
        /// Additional conditions for fetching
        /// </param>
        public ClsBaseTableDetail(
			ClsBase Obj_Base
			, string HeaderName
			, string TableName
			, string ViewName = ""
			, string OtherLoadCondition = "")
        {
            if (ViewName == "") ViewName = TableName;

            this.mHeaderName = HeaderName;
            this.mTableName = TableName;
            this.mViewName = ViewName;
            this.mOtherLoadCondition = OtherLoadCondition;
            this.mObj_Base = Obj_Base;
            this.mDa = Obj_Base.pDa;

            DataTable Dt_Def = this.mDa.GetTableDef(this.mTableName);
            DataRow[] ArrDr = Dt_Def.Select("IsPk = 1");
            foreach (DataRow Dr in ArrDr)
            { this.mList_Key.Add((string)Dr["ColumnName"]); }
        }
        public static bool CheckSeriesDuplicate(
            string TableName
            , string SeriesField
            , ClsKeys Keys
            , string SeriesNo)
        {
            bool Rv = false;
            DataTable Dt;

            System.Text.StringBuilder Sb_Query_Key = new StringBuilder();
            string Query_Key = "";
            string Query_And = "";

            foreach (string Inner_Key in Keys.pName)
            {
                Sb_Query_Key.Append(Query_And + " " + Inner_Key + " = " + Keys[Inner_Key]);
                Query_And = " And ";
            }

            Query_Key = " 1 = 1 ";
            if (Sb_Query_Key.ToString() != "")
            { Query_Key = "(Not (" + Sb_Query_Key.ToString() + "))"; }

            Dt = new ClsBase().pDa.GetQuery(
                "[" + TableName + "]"
                , "Count(1) As [Ct]"
                , Query_Key + " And " + SeriesField + " = '" + SeriesNo + "'");
            if (Dt.Rows.Count > 0)
            {
                if ((Int32)Dt.Rows[0][0] > 0)
                { Rv = true; }
            }

            //True means duplicates have been found
            return Rv;
        }
 public Str_Obj(string pName, ClsBase pObj)
 {
     this.Name = pName;
     this.Obj = pObj;
 }
 public void Add(string Name, ClsBase Obj)
 {
     this.mList_Obj.Add(new Str_Obj(Name, Obj));
 }