示例#1
0
        private int GetCountFromDictionary <T>(CommonSqlKey sqlKey, IDictionary <string, object> parmDic)
        {
            DbDataReader dr      = null;
            int          tLst    = 0;
            var          logStep = 0;

            try
            {
                //如果为空sql可以,则根据类型和传入参数自动构造select语句,同时where条件为传入参数
                var sqlTxt = sqlKey == CommonSqlKey.Null ? SqlConstructor.GetSelectSqlByParmDic <T>(parmDic) : CommSqlText.Instance[sqlKey];
                logStep++;
                var sqlParameters = sqlKey == CommonSqlKey.Null ? null : parmDic; // SqlConstructor.MakeParms(parmDic, CommSqlText.SqlParms[sqlKey]);
                sqlTxt = SqlConstructor.FilterSQLWithInsteadValue(sqlTxt, sqlParameters);
                logStep++;
                sqlParameters = sqlKey == CommonSqlKey.Null ? null : SqlConstructor.FilterParmsWithList(sqlParameters, CommSqlText.SqlParms[sqlKey]);
                logStep++;
                tLst = DbHelper.ExecuteScalar(sqlTxt, sqlParameters) == null
              ? 0 : int.Parse(DbHelper.ExecuteScalar(sqlTxt, sqlParameters).ToString());
            }
            catch (MySqlException ee)
            {
                Logger.LogInfo(String.Format("GetFromDictionary ERROR STEP:{0}, EXCEPTION:{1}", logStep, ee.Message), 0, LogType.ERROR);
                throw ee;
            }
            finally
            {
                if (dr != null)
                {
                    dr.Close();
                    dr.Dispose();
                }
            }
            return(tLst);
        }
示例#2
0
        public DataTable LoadDataTable(CommonSqlKey sqlKey, IDictionary <string, object> parmDic)
        {
            var logStep = 0;

            try
            {
                if (sqlKey == CommonSqlKey.Null)
                {
                    return(null);
                }
                var sqlTxt = CommSqlText.Instance[sqlKey];
                logStep++;
                sqlTxt = SqlConstructor.FilterSQLWithInsteadValue(sqlTxt, parmDic);
                logStep++;
                parmDic = SqlConstructor.FilterParmsWithList(parmDic, CommSqlText.SqlParms[sqlKey]);
                logStep++;

                return(DbHelper.ExecuteDataTable(sqlTxt, parmDic));
            }
            catch (MySqlException ee)
            {
                Logger.LogInfo(String.Format("GetSingleFromDicDictionary ERROR STEP:{0}, EXCEPTION:{1}", logStep, ee.Message), 0, LogType.ERROR);
                throw ee;
            }
        }
示例#3
0
        public DataTable LoadDataTableByConditions(CommonSqlKey sqlKey, IList <Condition> parmObj)
        {
            var logStep = 0;

            try
            {
                if (sqlKey == CommonSqlKey.Null)
                {
                    return(null);
                }
                var sqlTxt = CommSqlText.Instance[sqlKey];
                logStep++;
                var parmDic = SqlConstructor.MakeParms(parmObj);
                List <DbParameter> parameter;
                var whereSql = ConditionHandler.GetWhereSql(parmObj.ToList(), out parameter, sqlKey);
                sqlTxt = SqlConstructor.FilterSQLWithInsteadValue(sqlTxt + whereSql, parmDic);
                logStep++;
                parmDic = SqlConstructor.FilterParmsWithList(parmDic, CommSqlText.SqlParms[sqlKey]);
                logStep++;

                return(DbHelper.ExecuteDataTable(sqlTxt, parmDic));
            }
            catch (MySqlException ee)
            {
                Logger.LogInfo(String.Format("GetSingleFromDicDictionary ERROR STEP:{0}, EXCEPTION:{1}", logStep, ee.Message), 0, LogType.ERROR);
                throw ee;
            }
        }
示例#4
0
        public List <T> Load <T>(CommonSqlKey sqlKey, IDictionary <string, object> parmObj)
        {
            var parmDic = SqlConstructor.MakeParms(parmObj);

            //parmDic = SqlConstructor.FilterParmsWithList(parmDic, CommSqlText.SqlParms[sqlKey]);
            return(GetFromDictionary <T>(sqlKey, parmDic));
        }
示例#5
0
        public object Execute(CommonSqlKey sqlKey)
        {
            var sqlContent = CommSqlText.Instance[sqlKey];
            var result     = DbHelper.ExecuteScalar(sqlContent);

            return(result);
        }
示例#6
0
        public List <T> Load <T>(CommonSqlKey sqlKey, T parmObj)
        {
            var parmDic = SqlConstructor.MakeParms(parmObj);

            var resultLst = GetFromDictionary <T>(sqlKey, parmDic);

            return(resultLst);
        }
示例#7
0
        private List <T> GetFromDictionary <T>(CommonSqlKey sqlKey, IDictionary <string, object> parmDic)
        {
            DbConnection dbConn  = null;
            DbDataReader dr      = null;
            var          tLst    = new List <T>();
            var          logStep = 0;

            try
            {
                //如果为空sql可以,则根据类型和传入参数自动构造select语句,同时where条件为传入参数
                var sqlTxt = sqlKey == CommonSqlKey.Null ? SqlConstructor.GetSelectSqlByParmDic <T>(parmDic) : CommSqlText.Instance[sqlKey];
                logStep++;
                var sqlParameters = sqlKey == CommonSqlKey.Null ? null : parmDic; // SqlConstructor.MakeParms(parmDic, CommSqlText.SqlParms[sqlKey]);
                sqlTxt = SqlConstructor.FilterSQLWithInsteadValue(sqlTxt, sqlParameters);
                logStep++;
                sqlParameters = sqlKey == CommonSqlKey.Null ? null : SqlConstructor.FilterParmsWithList(sqlParameters, CommSqlText.SqlParms[sqlKey]);
                logStep++;

                dr      = DbHelper.ExecuteReader(sqlTxt, sqlParameters, ref dbConn);
                logStep = 100;
                if (dr == null)
                {
                    return(tLst);
                }
                var hasCount = dr.Read();
                while (hasCount)
                {
                    logStep += 10;
                    var t = MakeMapToObject <T>(dr);
                    if (t != null)
                    {
                        tLst.Add(t);
                    }
                    logStep += 1;
                    hasCount = dr.Read();
                }
            }
            catch (MySqlException ee)
            {
                //Logger.LogInfo(String.Format("GetFromDictionary ERROR STEP:{0}, EXCEPTION:{1}", logStep, ee.Message), 0, LogType.ERROR);
                throw ee;
            }
            finally
            {
                if (dr != null)
                {
                    dr.Close();
                    dr.Dispose();
                }
                if (dbConn != null)
                {
                    dbConn.Close();
                    dbConn.Dispose();
                }
            }
            return(tLst);
        }
示例#8
0
        public object Execute <T>(CommonSqlKey sqlKey, T t)
        {
            var sqlContent    = CommSqlText.Instance[sqlKey];
            var sqlParameters = SqlConstructor.MakeParms(t);

            sqlParameters = SqlConstructor.FilterParmsWithList(sqlParameters, CommSqlText.SqlParms[sqlKey]);
            var result = DbHelper.ExecuteScalar(sqlContent, sqlParameters);

            return(result);
        }
示例#9
0
        public int Delete <T>(CommonSqlKey sqlKey, T t)
        {
            var sqlContent    = CommSqlText.Instance[sqlKey];
            var sqlParameters = SqlConstructor.MakeParms(t);

            sqlContent    = SqlConstructor.FilterSQLWithInsteadValue(sqlContent, sqlParameters);
            sqlParameters = SqlConstructor.FilterParmsWithList(sqlParameters, CommSqlText.SqlParms[sqlKey]);
            var result = DbHelper.ExecuteNonQuery(sqlContent, sqlParameters);

            return(result);
        }
示例#10
0
        public int CountByConditions(CommonSqlKey sqlKey, IList <Condition> parmObj)
        {
            var result  = 0;
            var parmDic = SqlConstructor.MakeParms(parmObj);

            var sqlTxt = CommSqlText.Instance[sqlKey];

            var sqlParameters = parmDic;

            //解析where 后查询条件
            List <DbParameter> parameter;
            var whereSql = ConditionHandler.GetWhereSql(parmObj.ToList(), out parameter, sqlKey);

            sqlTxt = sqlTxt + whereSql;

            result = DbHelper.ExecuteScalar(sqlTxt, sqlParameters) == null
                ? 0
                : int.Parse(DbHelper.ExecuteScalar(sqlTxt, sqlParameters).ToString());

            return(result);
        }
示例#11
0
        public T Get <T>(CommonSqlKey sqlKey, IDictionary <string, object> parmDic) where T : class
        {
            var resultLst = Load <T>(sqlKey, parmDic);

            return(resultLst != null && resultLst.Count > 0 ? resultLst[0] : null);
        }
示例#12
0
        public T Get <T>(CommonSqlKey sqlKey, T t) where T : class
        {
            var resultLst = Load(sqlKey, t);

            return(resultLst != null && resultLst.Count > 0 ? resultLst[0] : null);
        }
示例#13
0
        public object Single <T>(CommonSqlKey sqlKey, T parmObj)
        {
            var parmDic = SqlConstructor.MakeParms(parmObj);

            return(GetSingleFromDicDictionary(sqlKey, parmDic));
        }
示例#14
0
 public object Single(CommonSqlKey sqlKey, IDictionary <string, object> parmDic)
 {
     return(GetSingleFromDicDictionary(sqlKey, parmDic));
 }
示例#15
0
 public object Single(CommonSqlKey sqlKey)
 {
     return(GetSingleFromDicDictionary(sqlKey, null));
 }
示例#16
0
 public List <T> Load <T>(CommonSqlKey sqlKey)
 {
     return(GetFromDictionary <T>(sqlKey, null));
 }
示例#17
0
        private List <T> GetFromDictionaryByConditionsWithOrder <T>(CommonSqlKey sqlKey, IDictionary <string, object> parmDic, IList <Condition> conditions, string orderField = "", string orderType = "")
        {
            DbDataReader dr      = null;
            DbConnection dbConn  = null;
            var          tLst    = new List <T>();
            var          logStep = 0;

            try
            {
                var sqlTxt = CommSqlText.Instance[sqlKey];

                logStep++;
                var sqlParameters = parmDic;

                //解析where 后查询条件
                List <DbParameter> parameter;
                var whereSql = ConditionHandler.GetWhereSql(conditions.ToList(), out parameter, sqlKey, orderField, orderType);

                sqlTxt = sqlTxt + whereSql;

                logStep++;
                logStep++;

                dr      = DbHelper.ExecuteReader(sqlTxt, sqlParameters, ref dbConn);
                logStep = 100;
                if (dr == null)
                {
                    return(tLst);
                }
                var hasCount = dr.Read();
                while (hasCount)
                {
                    logStep += 10;
                    var t = MakeMapToObject <T>(dr);
                    if (t != null)
                    {
                        tLst.Add(t);
                    }
                    logStep += 1;
                    hasCount = dr.Read();
                }
            }
            catch (MySqlException ee)
            {
                Logger.LogInfo(String.Format("GetFromDictionary ERROR STEP:{0}, EXCEPTION:{1}", logStep, ee.Message), 0, LogType.ERROR);
                throw ee;
            }
            finally
            {
                if (dr != null)
                {
                    dr.Close();
                    dr.Dispose();
                }
                if (dbConn != null)
                {
                    dbConn.Close();
                    dbConn.Dispose();
                }
            }
            return(tLst);
        }
示例#18
0
        public List <T> LoadByConditionsWithOrder <T>(CommonSqlKey sqlKey, IList <Condition> parmObj, string orderField = "", string orderType = "")
        {
            var parmDic = SqlConstructor.MakeParms(parmObj);

            return(GetFromDictionaryByConditionsWithOrder <T>(sqlKey, parmDic, parmObj, orderField, orderType));
        }
示例#19
0
        public List <T> LoadByConditions <T>(CommonSqlKey sqlKey, IList <Condition> parmObj)
        {
            var parmDic = SqlConstructor.MakeParms(parmObj);

            return(GetFromDictionaryByConditions <T>(sqlKey, parmDic, parmObj));
        }
示例#20
0
        public static string GetWhereSql(IList conditions, out List <DbParameter> parameter, CommonSqlKey sqlKey, string orderField = "", string orderType = "")
        {
            var text          = "?";
            var preParaName   = "p_";
            var list          = new List <DbParameter>();
            var stringBuilder = new StringBuilder();

            var conditionsCount = ConditionsCounter(conditions);

            if (conditions.Count > 0 && conditionsCount > 0)
            {
                // stringBuilder.Append(" AND");
            }
            var num = 0;

            foreach (Condition condition in conditions)
            {
                if (condition.Operation == ConditionOperate.None)
                {
                    continue;
                }
                if (condition.ParamValue != null)
                {
                    string text2;
                    if (string.IsNullOrEmpty(condition.Logic))
                    {
                        text2 = "";
                    }
                    else
                    {
                        text2 = ((condition.Logic == "AND") ? "AND" : "OR");
                    }
                    if (conditions.Count - 1 == num)
                    {
                        text2 = "";
                    }
                    var paramName = condition.DbColumnName;
                    var text3     = preParaName + condition.ParamName;
                    switch (condition.Operation)
                    {
                    case ConditionOperate.Equal:
                        stringBuilder.Append(string.Concat(new string[]
                        {
                            " ",
                            condition.LeftBrace,
                            paramName,
                            " = ",
                            text,
                            text3,
                            condition.RightBrace,
                            " ",
                            text2
                        }));
                        list.Add(CreateDbParameter(text + text3, condition.ParamValue));
                        break;

                    case ConditionOperate.IN:
                        stringBuilder.Append(string.Concat(new string[]
                        {
                            " ",
                            condition.LeftBrace,
                            paramName,
                            " in ",
                            "(",
                            text,
                            text3,
                            ")",
                            condition.RightBrace,
                            " ",
                            text2
                        }));
                        list.Add(CreateDbParameter(text + text3, condition.ParamValue));
                        break;

                    case ConditionOperate.INWithNoPara:
                        stringBuilder.Append(string.Concat(new string[]
                        {
                            " ",
                            condition.LeftBrace,
                            paramName,
                            " in ",
                            "(",
                            condition.ParamValue.ToString(),
                            ")",
                            condition.RightBrace,
                            " ",
                            text2
                        }));

                        break;

                    case ConditionOperate.NotEqual:
                        stringBuilder.Append(string.Concat(new string[]
                        {
                            " ",
                            condition.LeftBrace,
                            paramName,
                            " <> ",
                            text,
                            text3,
                            condition.RightBrace,
                            " ",
                            text2
                        }));
                        list.Add(CreateDbParameter(text + text3, condition.ParamValue));
                        break;

                    case ConditionOperate.Greater:
                        stringBuilder.Append(string.Concat(new string[]
                        {
                            " ",
                            condition.LeftBrace,
                            paramName,
                            " > ",
                            text,
                            text3,
                            condition.RightBrace,
                            " ",
                            text2
                        }));
                        list.Add(CreateDbParameter(text + text3, condition.ParamValue));
                        break;

                    case ConditionOperate.GreaterThan:
                        stringBuilder.Append(string.Concat(new string[]
                        {
                            " ",
                            condition.LeftBrace,
                            paramName,
                            " >= ",
                            text,
                            text3,
                            condition.RightBrace,
                            " ",
                            text2
                        }));
                        list.Add(CreateDbParameter(text + text3, condition.ParamValue));
                        break;

                    case ConditionOperate.Less:
                        stringBuilder.Append(string.Concat(new string[]
                        {
                            " ",
                            condition.LeftBrace,
                            paramName,
                            " < ",
                            text,
                            text3,
                            condition.RightBrace,
                            " ",
                            text2
                        }));
                        list.Add(CreateDbParameter(text + text3, condition.ParamValue));
                        break;

                    case ConditionOperate.LessThan:
                        stringBuilder.Append(string.Concat(new string[]
                        {
                            " ",
                            condition.LeftBrace,
                            paramName,
                            " <= ",
                            text,
                            text3,
                            condition.RightBrace,
                            " ",
                            text2
                        }));
                        list.Add(CreateDbParameter(text + text3, condition.ParamValue));
                        break;

                    case ConditionOperate.Null:
                        stringBuilder.Append(string.Format(" " + condition.LeftBrace + "{0} is null ", paramName) + condition.RightBrace + " " + text2);
                        break;

                    case ConditionOperate.NotNull:
                        stringBuilder.Append(string.Format(" " + condition.LeftBrace + "{0} is not null ", paramName) + condition.RightBrace + " " + text2);
                        break;

                    case ConditionOperate.OrderBy:
                        stringBuilder.Append(string.Format(" " + condition.LeftBrace + "order by {0} {1} ", paramName, condition.ParamValue) + condition.RightBrace + " " + text2);
                        break;

                    case ConditionOperate.GroupBy:
                        stringBuilder.Append(string.Format(" " + condition.LeftBrace + "group by {0} {1} ", paramName, condition.ParamValue) + condition.RightBrace + " " + text2);
                        break;

                    case ConditionOperate.LimitIndex:
                        //stringBuilder.Append($"  limit {text + "p_" + condition.ParamName}");
                        stringBuilder.Append(string.Format(" limit {0} ", text + preParaName + condition.ParamName));
                        break;

                    case ConditionOperate.LimitLength:
                        //stringBuilder.Append($",{text + "p_" + condition.ParamName} ");
                        stringBuilder.Append(string.Format(" ,{0} ", text + preParaName + condition.ParamName));
                        break;

                    case ConditionOperate.Like:
                        stringBuilder.Append(string.Concat(new string[]
                        {
                            " ",
                            condition.LeftBrace,
                            paramName,
                            " like ",
                            text,
                            text3,
                            condition.RightBrace,
                            " ",
                            text2
                        }));
                        list.Add(CreateDbParameter(text + text3, "%" + condition.ParamValue + "%"));
                        break;

                    case ConditionOperate.NotLike:
                        stringBuilder.Append(string.Concat(new string[]
                        {
                            " ",
                            condition.LeftBrace,
                            paramName,
                            " not like ",
                            text,
                            text3,
                            condition.RightBrace,
                            " ",
                            text2
                        }));
                        list.Add(CreateDbParameter(text + text3, "%" + condition.ParamValue + "%"));
                        break;

                    case ConditionOperate.LeftLike:
                        stringBuilder.Append(string.Concat(new string[]
                        {
                            " ",
                            condition.LeftBrace,
                            paramName,
                            " like ",
                            text,
                            text3,
                            condition.RightBrace,
                            " ",
                            text2
                        }));
                        list.Add(CreateDbParameter(text + text3, "%" + condition.ParamValue));
                        break;

                    case ConditionOperate.RightLike:
                        stringBuilder.Append(string.Concat(new string[]
                        {
                            " ",
                            condition.LeftBrace,
                            paramName,
                            " like ",
                            text,
                            text3,
                            condition.RightBrace,
                            " ",
                            text2
                        }));
                        list.Add(CreateDbParameter(text + text3, condition.ParamValue + "%"));
                        break;

                    case ConditionOperate.Yesterday:
                    {
                        var      dateTime  = DateTimeHandler.GetDateTime(DateTime.Now.AddDays(-1.0).ToString("yyyy-MM-dd") + " 00:00");
                        DateTime dateTime2 = DateTimeHandler.GetDateTime(DateTime.Now.AddDays(-1.0).ToString("yyyy-MM-dd") + " 23:59");
                        stringBuilder.Append(string.Format(string.Concat(new string[]
                            {
                                " ",
                                condition.LeftBrace,
                                "{0} between ",
                                text,
                                "start{1}  AND ",
                                text,
                                "end_{2}",
                                condition.RightBrace
                            }), paramName, text3, text3) + " " + text2);
                        list.Add(CreateDbParameter(text + string.Format("start{0}", text3), dateTime));
                        list.Add(CreateDbParameter(text + string.Format("end_{0}", text3), dateTime2));
                        break;
                    }

                    case ConditionOperate.Today:
                    {
                        DateTime dateTime  = DateTimeHandler.GetDateTime(DateTimeHandler.GetToday() + " 00:00");
                        DateTime dateTime2 = DateTimeHandler.GetDateTime(DateTimeHandler.GetToday() + " 23:59");
                        stringBuilder.Append(string.Format(string.Concat(new string[]
                            {
                                " ",
                                condition.LeftBrace,
                                "{0} between ",
                                text,
                                "start{1}  AND ",
                                text,
                                "end_{2}",
                                condition.RightBrace
                            }), paramName, text3, text3) + " " + text2);
                        list.Add(CreateDbParameter(text + string.Format("start{0}", text3), dateTime));
                        list.Add(CreateDbParameter(text + string.Format("end_{0}", text3), dateTime2));
                        break;
                    }

                    case ConditionOperate.Tomorrow:
                    {
                        DateTime dateTime  = DateTimeHandler.GetDateTime(DateTime.Now.AddDays(1.0).ToString("yyyy-MM-dd") + " 00:00");
                        DateTime dateTime2 = DateTimeHandler.GetDateTime(DateTime.Now.AddDays(1.0).ToString("yyyy-MM-dd") + " 23:59");
                        stringBuilder.Append(string.Format(string.Concat(new string[]
                            {
                                " ",
                                condition.LeftBrace,
                                "{0} between ",
                                text,
                                "start{1}  AND ",
                                text,
                                "end_{2}",
                                condition.RightBrace
                            }), paramName, text3, text3) + " " + text2);
                        list.Add(CreateDbParameter(text + string.Format("start{0}", text3), dateTime));
                        list.Add(CreateDbParameter(text + string.Format("end_{0}", text3), dateTime2));
                        break;
                    }

                    case ConditionOperate.LastWeek:
                    {
                        DateTime dateTime  = DateTimeHandler.GetDateTime(DateTime.Now.AddDays((double)(Convert.ToInt32(1 - Convert.ToInt32(DateTime.Now.DayOfWeek)) - 7)).ToString("yyyy-MM-dd") + " 00:00");
                        DateTime dateTime2 = DateTimeHandler.GetDateTime(dateTime.AddDays(6.0).ToString("yyyy-MM-dd") + " 23:59");
                        stringBuilder.Append(string.Format(string.Concat(new string[]
                            {
                                " ",
                                condition.LeftBrace,
                                "{0} between ",
                                text,
                                "start{1}  AND ",
                                text,
                                "end_{2}",
                                condition.RightBrace
                            }), paramName, text3, text3) + " " + text2);
                        list.Add(CreateDbParameter(text + string.Format("start{0}", text3), dateTime));
                        list.Add(CreateDbParameter(text + string.Format("end_{0}", text3), dateTime2));
                        break;
                    }

                    case ConditionOperate.ThisWeek:
                    {
                        DateTime dateTime  = DateTimeHandler.GetDateTime(DateTime.Now.AddDays((double)(1 - Convert.ToInt32(DateTime.Now.DayOfWeek))).ToString("yyyy-MM-dd") + " 00:00");
                        DateTime dateTime2 = DateTimeHandler.GetDateTime(dateTime.AddDays(6.0).ToString("yyyy-MM-dd") + " 23:59");
                        stringBuilder.Append(string.Format(string.Concat(new string[]
                            {
                                " ",
                                condition.LeftBrace,
                                "{0} between ",
                                text,
                                "start{1}  AND ",
                                text,
                                "end_{2}",
                                condition.RightBrace
                            }), paramName, text3, text3) + " " + text2);
                        list.Add(CreateDbParameter(text + string.Format("start{0}", text3), dateTime));
                        list.Add(CreateDbParameter(text + string.Format("end_{0}", text3), dateTime2));
                        break;
                    }

                    case ConditionOperate.NextWeek:
                    {
                        DateTime dateTime  = DateTimeHandler.GetDateTime(DateTime.Now.AddDays((double)(Convert.ToInt32(1 - Convert.ToInt32(DateTime.Now.DayOfWeek)) + 7)).ToString("yyyy-MM-dd") + " 00:00");
                        DateTime dateTime2 = DateTimeHandler.GetDateTime(dateTime.AddDays(6.0).ToString("yyyy-MM-dd") + " 23:59");
                        stringBuilder.Append(string.Format(string.Concat(new string[]
                            {
                                " ",
                                condition.LeftBrace,
                                "{0} between ",
                                text,
                                "start{1}  AND ",
                                text,
                                "end_{2}",
                                condition.RightBrace
                            }), paramName, text3, text3) + " " + text2);
                        list.Add(CreateDbParameter(text + string.Format("start{0}", text3), dateTime));
                        list.Add(CreateDbParameter(text + string.Format("end_{0}", text3), dateTime2));
                        break;
                    }

                    case ConditionOperate.LastMonth:
                    {
                        DateTime dateTime  = DateTimeHandler.GetDateTime(DateTime.Now.AddMonths(-1).ToString("yyyy-MM-01") + " 00:00");
                        DateTime dateTime2 = DateTimeHandler.GetDateTime(DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddDays(-1.0).ToString("yyyy-MM-dd") + " 23:59");
                        stringBuilder.Append(string.Format(string.Concat(new string[]
                            {
                                " ",
                                condition.LeftBrace,
                                "{0} between ",
                                text,
                                "start{1}  AND ",
                                text,
                                "end_{2}",
                                condition.RightBrace
                            }), paramName, text3, text3) + " " + text2);
                        list.Add(CreateDbParameter(text + string.Format("start{0}", text3), dateTime));
                        list.Add(CreateDbParameter(text + string.Format("end_{0}", text3), dateTime2));
                        break;
                    }

                    case ConditionOperate.ThisMonth:
                    {
                        DateTime dateTime  = DateTimeHandler.GetDateTime(DateTime.Now.ToString("yyyy-MM-01") + " 00:00");
                        DateTime dateTime2 = DateTimeHandler.GetDateTime(DateTime.Now.AddMonths(1).AddDays(-1.0).ToString("yyyy-MM-dd") + " 23:59");
                        stringBuilder.Append(string.Format(string.Concat(new string[]
                            {
                                " ",
                                condition.LeftBrace,
                                "{0} between ",
                                text,
                                "start{1}  AND ",
                                text,
                                "end_{2}",
                                condition.RightBrace
                            }), paramName, text3, text3) + " " + text2);
                        list.Add(CreateDbParameter(text + string.Format("start{0}", text3), dateTime));
                        list.Add(CreateDbParameter(text + string.Format("end_{0}", text3), dateTime2));
                        break;
                    }

                    case ConditionOperate.NextMonth:
                    {
                        DateTime dateTime  = DateTimeHandler.GetDateTime(DateTime.Now.AddMonths(1).ToString("yyyy-MM-01") + " 00:00");
                        DateTime dateTime2 = DateTimeHandler.GetDateTime(DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(2).AddDays(-1.0).ToString("yyyy-MM-dd") + " 23:59");
                        stringBuilder.Append(string.Format(string.Concat(new string[]
                            {
                                " ",
                                condition.LeftBrace,
                                "{0} between ",
                                text,
                                "start{1}  AND ",
                                text,
                                "end_{2}",
                                condition.RightBrace
                            }), paramName, text3, text3) + " " + text2);
                        list.Add(CreateDbParameter(text + string.Format("start{0}", text3), dateTime));
                        list.Add(CreateDbParameter(text + string.Format("end_{0}", text3), dateTime2));
                        break;
                    }

                    case ConditionOperate.BeforeDay:
                    {
                        DateTime dateTime  = DateTimeHandler.GetDateTime(DateTime.Now.AddDays(double.Parse("-" + condition.ParamValue.ToString())) + " 00:00");
                        DateTime dateTime2 = DateTimeHandler.GetDateTime(DateTimeHandler.GetToday() + " 23:59");
                        stringBuilder.Append(string.Format(string.Concat(new string[]
                            {
                                " ",
                                condition.LeftBrace,
                                "{0} between ",
                                text,
                                "start{1}  AND ",
                                text,
                                "end_{2}",
                                condition.RightBrace
                            }), paramName, text3, text3) + " " + text2);
                        list.Add(CreateDbParameter(text + string.Format("start{0}", text3), dateTime));
                        list.Add(CreateDbParameter(text + string.Format("end_{0}", text3), dateTime2));
                        break;
                    }

                    case ConditionOperate.AfterDay:
                    {
                        DateTime dateTime  = DateTimeHandler.GetDateTime(DateTime.Now.AddDays(double.Parse(condition.ParamValue.ToString())) + " 00:00");
                        DateTime dateTime2 = DateTimeHandler.GetDateTime(DateTimeHandler.GetToday() + " 23:59");
                        stringBuilder.Append(string.Format(string.Concat(new string[]
                            {
                                " ",
                                condition.LeftBrace,
                                "{0} between ",
                                text,
                                "start{1}  AND ",
                                text,
                                "end_{2}",
                                condition.RightBrace
                            }), paramName, text3, text3) + " " + text2);
                        list.Add(CreateDbParameter(text + string.Format("start{0}", text3), dateTime));
                        list.Add(CreateDbParameter(text + string.Format("end_{0}", text3), dateTime2));
                        break;
                    }
                    }
                    num++;
                }
            }
            if (!string.IsNullOrEmpty(orderField))
            {
                orderType = ((orderType.ToLower() == "desc") ? "desc" : "asc");
                stringBuilder.Append(" Order By " + orderField + " " + orderType);
            }
            parameter = list;
            string finalWhereCondition = stringBuilder.ToString().Trim().ToUpper();

            if (string.IsNullOrEmpty(finalWhereCondition) || finalWhereCondition.Length < 3)
            {
                return(finalWhereCondition);
            }
            switch (sqlKey)
            {
            case CommonSqlKey.GetCustomer:
                return(finalWhereCondition);

            case CommonSqlKey.GetCustomerCount:
                return(finalWhereCondition);

            case CommonSqlKey.GetAuth:
                return(finalWhereCondition);

            case CommonSqlKey.GetRankValue:
                return(finalWhereCondition);

            case CommonSqlKey.GetProductByMachine:
                return(finalWhereCondition);

            case CommonSqlKey.GetProductByMachineCount:
                return(finalWhereCondition);

            case CommonSqlKey.GetTotalMoneyByClient:
                return(finalWhereCondition);

            case CommonSqlKey.GetSalesAmountByMachine:
                return(finalWhereCondition);

            case CommonSqlKey.GetSalesAmountByMachineCount:
                return(finalWhereCondition);

            case CommonSqlKey.GetStatisticSalesMoneyByDate:
                return(finalWhereCondition);

            case CommonSqlKey.GetLogin:
                return(finalWhereCondition);

            case CommonSqlKey.GetUser:
                return(finalWhereCondition);

            case CommonSqlKey.GetUserCount:
                return(finalWhereCondition);

            case CommonSqlKey.GetMenuByUser:
                return(finalWhereCondition);

            case CommonSqlKey.GetAuthDic:
                return(finalWhereCondition);

            case CommonSqlKey.GetAuthByDmsId:
                return(finalWhereCondition);

            case CommonSqlKey.GetDic:
                return(finalWhereCondition);

            case CommonSqlKey.GetRank:
                return(finalWhereCondition);

            case CommonSqlKey.GetMachineCountWithStatus:
                return(finalWhereCondition);

            case CommonSqlKey.GetMachineType:
                return(finalWhereCondition);

            case CommonSqlKey.ExportByTunnel:
                return(finalWhereCondition);

            case CommonSqlKey.ExportByProduct:
                return(finalWhereCondition);

            case CommonSqlKey.GetProductInfoByWaresId:
                return(finalWhereCondition);
            }
            if (finalWhereCondition.Substring(0, 3) == "AND")
            {
                finalWhereCondition = " WHERE " + finalWhereCondition.Substring(3, finalWhereCondition.Length - 3) + " ";
            }
            return(finalWhereCondition);
        }
示例#21
0
        public int CountByDictionary <T>(CommonSqlKey sqlKey, IDictionary <string, object> parmObj)
        {
            var parmDic = SqlConstructor.MakeParms(parmObj);

            return(GetCountFromDictionary <T>(sqlKey, parmDic));
        }