コード例 #1
0
ファイル: CodeDA.cs プロジェクト: jxzly229190/OnlineStore
 public int Update(Code code)
 {
     var parameters = new List<SqlParameter>
                          {
                             this.SqlServer.CreateSqlParameter(
                            "ID",
                            SqlDbType.NVarChar,
                            code.ID,
                            ParameterDirection.Input
                            ),
                            this.SqlServer.CreateSqlParameter(
                            "Business",
                            SqlDbType.NVarChar,
                            code.Business,
                            ParameterDirection.Input
                            ),
                             this.SqlServer.CreateSqlParameter(
                            "PrefixName",
                            SqlDbType.NVarChar,
                            code.PrefixName,
                            ParameterDirection.Input
                            ),
                            this.SqlServer.CreateSqlParameter(
                            "DateFormat",
                            SqlDbType.NVarChar,
                            code.DateFormat,
                            ParameterDirection.Input
                            ),
                            this.SqlServer.CreateSqlParameter(
                            "TransactLength",
                            SqlDbType.Int,
                            code.TransactLength,
                            ParameterDirection.Input
                            ),
                            this.SqlServer.CreateSqlParameter(
                            "Transaction",
                            SqlDbType.NVarChar,
                            code.Transaction,
                            ParameterDirection.Input
                            ),
                             this.SqlServer.CreateSqlParameter(
                            "CodeFormat",
                            SqlDbType.NVarChar,
                            code.CodeFormat,
                            ParameterDirection.Input
                            ),
                             this.SqlServer.CreateSqlParameter(
                            "IsIterator",
                            SqlDbType.Bit,
                            code.IsIterator,
                            ParameterDirection.Input
                            ),
                             this.SqlServer.CreateSqlParameter(
                            "Iterator",
                            SqlDbType.Int,
                            code.Iterator,
                            ParameterDirection.Input
                            ),
                             this.SqlServer.CreateSqlParameter(
                            "ExpireDate",
                            SqlDbType.Int,
                            code.ExpireDate,
                            ParameterDirection.Input
                            )
                           };
     return this.SqlServer.ExecuteNonQuery(CommandType.StoredProcedure, "sp_Code_Update", parameters, null);
     //return (int)parameters.Find(parameter => parameter.ParameterName == "ReferenceID").Value;
 }
コード例 #2
0
 /// <summary>
 /// 创建一条规则
 /// </summary>
 /// <param name="code"></param>
 /// <returns></returns>
 public static string MakeBssinessCode(Code code)
 {
     codeService.Insert(code);
     return "";
 }
コード例 #3
0
ファイル: CodeDA.cs プロジェクト: jxzly229190/OnlineStore
        /// <summary>
        /// 编码插入数据
        /// </summary>
        /// <param name="code"></param>
        /// <returns></returns>
        public int Insert(Code code)
        {
            if (code == null)
            {
                throw new ArgumentNullException("code");
            }
            var parameters = new List<SqlParameter>
                                 {

                                   this.SqlServer.CreateSqlParameter(
                                   "UserCode",
                                    SqlDbType.NVarChar,
                                     code.UserCode,
                                    ParameterDirection.Input
                                   ),
                                   this.SqlServer.CreateSqlParameter(
                                   "Business",
                                   SqlDbType.NVarChar,
                                   code.Business,
                                   ParameterDirection.Input
                                   ),
                                    this.SqlServer.CreateSqlParameter(
                                   "PrefixName",
                                   SqlDbType.NVarChar,
                                   code.PrefixName,
                                   ParameterDirection.Input
                                   ),
                                   this.SqlServer.CreateSqlParameter(
                                   "DateFormat",
                                   SqlDbType.NVarChar,
                                   code.DateFormat,
                                   ParameterDirection.Input
                                   ),
                                   this.SqlServer.CreateSqlParameter(
                                   "TransactLength",
                                   SqlDbType.Int,
                                   code.TransactLength,
                                   ParameterDirection.Input
                                   ),
                                   this.SqlServer.CreateSqlParameter(
                                   "Transaction",
                                   SqlDbType.NVarChar,
                                   code.Transaction,
                                   ParameterDirection.Input
                                   ),
                                    this.SqlServer.CreateSqlParameter(
                                   "CodeFormat",
                                   SqlDbType.NVarChar,
                                   code.CodeFormat,
                                   ParameterDirection.Input
                                   ),
                                    this.SqlServer.CreateSqlParameter(
                                   "IsIterator",
                                   SqlDbType.Bit,
                                   code.IsIterator,
                                   ParameterDirection.Input
                                   ),
                                    this.SqlServer.CreateSqlParameter(
                                   "Iterator",
                                   SqlDbType.Int,
                                   code.Iterator,
                                   ParameterDirection.Input
                                   ),
                                   this.SqlServer.CreateSqlParameter(
                                   "StartTime",
                                   SqlDbType.Int,
                                   code.StartTime,
                                   ParameterDirection.Input
                                   ),
                                   this.SqlServer.CreateSqlParameter(
                                   "UserIterator",
                                   SqlDbType.Int,
                                   code.UserIterator,
                                   ParameterDirection.Input
                                   ),
                                   this.SqlServer.CreateSqlParameter(
                                   "ExpireDate",
                                   SqlDbType.Int,
                                   code.ExpireDate,
                                   ParameterDirection.Input
                                   ),
                                    this.SqlServer.CreateSqlParameter(
                                         "ReferenceID",
                                         SqlDbType.Int,
                                         null,
                                         ParameterDirection.Output)
                                  };
            this.SqlServer.ExecuteNonQuery(CommandType.StoredProcedure, "sp_Code_Insert", parameters, null);
            return (int)parameters.Find(parameter => parameter.ParameterName == "ReferenceID").Value;
        }
コード例 #4
0
 /// <summary>
 /// 过期时间 返回false就说明时间过期,更新开始时间
 /// </summary>
 /// <param name="code"></param>
 /// <returns></returns>
 private static bool PreCheckExpireTime(Code code)
 {
     bool checkResult = false;
     switch (code.ExpireDate)
     {
         case 1: //1按年计算过期时间
             if (DateTime.Now.Year - code.StartTime.Year == 0)
             {
                 checkResult = true;
             }
             break;
         case 2://2按月计算过期时间
             if (DateTime.Now.Month - code.StartTime.Month == 0)
             {
                 checkResult = true;
             }
             break;
         case 3://按天计算过期时间
             if (DateTime.Now.Day - code.StartTime.Day == 0)
             {
                 checkResult = true;
             }
             break;
     }
     return checkResult;
 }
コード例 #5
0
 /// <summary>
 /// 生成流水号,并检查是否有重复
 /// </summary>
 /// <param name="code"></param>
 /// <returns></returns>
 private static int PreCreatTransactCode(Code code)
 {
     int result = 0;
     codeService = new CodeService();
     lock (obj)
     {
         if (code.IsIterator)
         {
             //时间是否过期
             if (PreCheckExpireTime(code))
             {
                 //先产生一个编号
                 code.Iterator++;
                 code.Iterator = PreCheckCodeIsOnly(code, code.Iterator);
                 //在取得数据库的值上再自加,跳号
                 code.Iterator++;
                 //num++;
                 //更新数据库
                 codeService.UpdateIterator(code.Iterator, code.ID);
                 result = code.Iterator;
             }
             else
             {
                 //时间过期
                 codeService.UpdateStartTime(DateTime.Now, code.ID, 1);
                 result = 1;
             }
         }
     }
     return result;
 }
コード例 #6
0
 /// <summary>
 /// 校验C#生成编号和数据库中编吗的唯一性,当前生成系统中已作废
 /// </summary>
 /// <param name="code">编码对象</param>
 /// <param name="iterator">C#自增变量</param>
 /// <returns></returns>
 private static int PreCheckCodeIsOnly(Code code, int iterator)
 {
     codeService = new CodeService();
     int sourceCode = codeService.FindById(code.ID).Iterator;
     if (sourceCode >= iterator)
     {
         iterator++;
         PreCheckCodeIsOnly(code, iterator);
     }
     return sourceCode;
 }
コード例 #7
0
 /// <summary>
 /// 增加分隔符
 /// </summary>
 /// <returns></returns>
 private static string GetSplitCode(Code code, string value)
 {
     return string.IsNullOrEmpty(code.CodeFormat) ? value : value + code.CodeFormat;
 }
コード例 #8
0
 /// <summary>
 /// 日期格式化
 /// </summary>
 /// <param name="code"></param>
 /// <returns></returns>
 private static string GetDateFormat(Code code)
 {
     if (string.IsNullOrEmpty(code.DateFormat)) return "";
     return DateTime.Now.ToString(code.DateFormat);
 }
コード例 #9
0
 /// <summary>
 /// 更新
 /// </summary>
 /// <param name="code"></param>
 /// <returns></returns>
 public int Update(Code code)
 {
     return this.codeDA.Update(code);
 }
コード例 #10
0
 /// <summary>
 /// 编码添加
 /// </summary>
 /// <param name="code"></param>
 /// <returns></returns>
 public int Insert(Code code)
 {
     return this.codeDA.Insert(code);
 }