CommonSlowXDALFunctions

2017-02-21 22:51:46  访问(1424) 赞(0) 踩(0)

using System;
using System.Collections.Generic;
using System.Text;

using System.Reflection;

using System.Data;
using SlowX.DAL.Utils;
using SlowX.DAL.Common;


namespace SlowX.DAL.Functions
{
    /// <summary>
    /// 
    /// </summary>
    public class CommonSlowXDALFunctions
    {
        /// <summary>
        /// 创建 DataTable
        /// </summary>
        /// <returns></returns>
        public static DataTable CreateBasicDataTable()
        {
            // 
            DataTable theResult = new DataTable();

            theResult.Columns.Add(DataColumnNameSlowXDALCommon.ID, TypeSlowXDALFunctions.typeInt32);
            theResult.Columns.Add(DataColumnNameSlowXDALCommon.TheName);

            return theResult;
        }

        /// <summary>
        /// 获得数据库类型
        /// </summary>
        /// <param name="emDataBaseHelperStringValue"></param>
        /// <returns></returns>
        public static SlowX.DAL.Enums.DataBaseHelper.EmDataBaseHelper GetEmDataBaseHelper(string emDataBaseHelperStringValue)
        {
            if (emDataBaseHelperStringValue == null || emDataBaseHelperStringValue.Length == 0)
            {

                throw new Exception
                    (
                        "方法:"
                        + MethodBase.GetCurrentMethod().ReflectedType.FullName
                        + " "
                        + MethodBase.GetCurrentMethod().ToString()
                        + " 发生异常:emDataBaseHelperStringValue == null || emDataBaseHelperStringValue.Length == 0。"
                    );
            }

            int idx = emDataBaseHelperStringValue.IndexOf('.');

            if (idx == -1)
                return Enums.DataBaseHelper.GetEmByString(emDataBaseHelperStringValue);
            else
                return Enums.DataBaseHelper.GetEmByString(emDataBaseHelperStringValue.Substring(0, idx));
        }

        /// <summary>
        /// 获得数据库类型和版本
        /// </summary>
        /// <param name="_emDataBaseHelper"></param>
        /// <param name="_dataBaseVersion"></param>
        /// <returns></returns>
        public static string GetDataBaseHelperAndVersion
            (
                SlowX.DAL.Enums.DataBaseHelper.EmDataBaseHelper _emDataBaseHelper,
                int _dataBaseVersion
            )
        { 

            switch (_emDataBaseHelper)
            {
                case Enums.DataBaseHelper.EmDataBaseHelper.Oracle:
                    SlowX.DAL.Enums.OracleVersion.EmOracleVersion emOracleVersionValue = Enums.OracleVersion.GetEmByInt(_dataBaseVersion);

                    if (emOracleVersionValue == Enums.OracleVersion.EmOracleVersion.默认)
                        return _emDataBaseHelper.ToString() + "(" + emOracleVersionValue.ToString() + ")";
                    else
                        return emOracleVersionValue.ToString();
                case Enums.DataBaseHelper.EmDataBaseHelper.SQLServer:
                    SlowX.DAL.Enums.SqlServerVersion.EmSqlServerVersion emSqlServerVersionValue = Enums.SqlServerVersion.GetEmByInt(_dataBaseVersion);

                    if (emSqlServerVersionValue == Enums.SqlServerVersion.EmSqlServerVersion.默认)
                        return _emDataBaseHelper.ToString() + "(" + emSqlServerVersionValue.ToString() + ")";
                    else
                        return emSqlServerVersionValue.ToString();
                default:

                    throw new Exception
                        (
                            "方法:"
                            + MethodBase.GetCurrentMethod().ReflectedType.FullName
                            + " "
                            + MethodBase.GetCurrentMethod().ToString()
                            + " 发生异常:"
                            + "枚举("
                            + _emDataBaseHelper.GetType().FullName
                            + "."
                            + _emDataBaseHelper.ToString()
                            + ")未知,对应的代码尚未实现。"
                        );
                    
            }
        }

        /// <summary>
        /// 获得接收页面
        /// </summary>
        /// <param name="startIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public static int GetStartIndexToPageNumber(int startIndex, int pageSize)
        {
            if (pageSize == 0)
                return int.MaxValue;

            if (startIndex == 0)
                return pageSize;


            long theResult = (long)pageSize + (long)startIndex;

            if (theResult > int.MaxValue)
                return int.MaxValue;

            return (int)theResult;
        }
    }
}


标签:CommonSlowXDALFunctions 

上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)
 
  ┈全部┈  
 
(显示默认分类)