Beispiel #1
0
        public bool UpdatePaied(string order_no, string strValue)
        {
            using (SqlConnection conn = new SqlConnection(DbHelperSQL.connectionString))
            {
                conn.Open();
                using (SqlTransaction trans = conn.BeginTransaction())
                {
                    try
                    {
                        StringBuilder strSql1 = new StringBuilder();
                        strSql1.Append("update " + siteConfig.sysdatabaseprefix + "orders set " + strValue);
                        strSql1.Append(" where order_no='@orderno';");
                        SqlParameter[] parameters1 =
                        {
                            new SqlParameter("@orderno", SqlDbType.NVarChar, 50)
                        };
                        parameters1[0].Value = order_no;
                        DbHelperSQL.GetSingle(conn, trans, strSql1.ToString(), parameters1); //带事务

                        var model = GetModel(order_no);
                        var user  = new users().GetModel(model.user_name);
                        foreach (var g in model.order_goods)
                        {
                            var abll = new article();
                            if (abll.IsCard(g.article_id))
                            {
                                StringBuilder strSql       = new StringBuilder();
                                var           article      = abll.GetModel(g.article_id);
                                string        callindex    = article.fields["cardcategorycallindex"];
                                var           cardcategory = new BLL.CardCategory().GetModel(callindex);
                                var           ug           = new BLL.user_groups().GetModel(cardcategory.UserGroupCallIndex);
                                strSql.Append("insert into " + siteConfig.edudatabaseprefix + "Card(");
                                strSql.Append("CardCategoryId,Code,CreateDate,StartDate,EndDate");
                                strSql.Append(") values (");
                                strSql.Append("@CardCategoryId,@Code,@CreateDate,@StartDate,@EndDate");
                                strSql.Append(") ");
                                strSql.Append(";select @@IDENTITY");
                                SqlParameter[] parameters =
                                {
                                    new SqlParameter("@CardCategoryId", SqlDbType.Int,        4),
                                    new SqlParameter("@Code",           SqlDbType.VarChar,   50),
                                    new SqlParameter("@CreateDate",     SqlDbType.DateTime),
                                    new SqlParameter("@StartDate",      SqlDbType.DateTime),
                                    new SqlParameter("@EndDate",        SqlDbType.DateTime)
                                };
                                var startTime = DateTime.Now;
                                var endTime   = DateTime.Now.AddDays((double)cardcategory.Duration);
                                parameters[0].Value = cardcategory.CardCategoryId;
                                parameters[1].Value = Utils.GetCheckCode(7);;
                                parameters[2].Value = startTime;
                                parameters[3].Value = startTime;
                                parameters[4].Value = endTime;
                                object obj = DbHelperSQL.GetSingle(conn, trans, strSql.ToString(), parameters); //带事务

                                int           id       = Convert.ToInt32(obj);
                                StringBuilder strSqlUC = new StringBuilder();
                                strSqlUC.Append("insert into " + siteConfig.edudatabaseprefix + "UserCard(");
                                strSqlUC.Append("CardId,UserId,CardCategoryId");
                                strSqlUC.Append(") values (");
                                strSqlUC.Append("@CardId,@UserId,@CardCategoryId");
                                strSqlUC.Append(") ");
                                strSqlUC.Append(";select @@IDENTITY");
                                SqlParameter[] parametersUC =
                                {
                                    new SqlParameter("@CardId",         SqlDbType.Int, 4),
                                    new SqlParameter("@UserId",         SqlDbType.Int, 4),
                                    new SqlParameter("@CardCategoryId", SqlDbType.Int, 4)
                                };

                                parametersUC[0].Value = id;
                                parametersUC[1].Value = model.user_id;
                                parametersUC[2].Value = cardcategory.CardCategoryId;

                                DbHelperSQL.GetSingle(conn, trans, strSqlUC.ToString(), parametersUC);

                                StringBuilder strSqlUU = new StringBuilder();
                                strSqlUU.Append("update " + siteConfig.sysdatabaseprefix + "users set ");
                                strSqlUU.Append(" group_id=@group_id,");
                                strSqlUU.Append(" group_start_time=@group_start_time,");
                                strSqlUU.Append(" group_end_time=@group_end_time ");
                                strSqlUU.Append(" where id=@id");
                                SqlParameter[] parametersUU =
                                {
                                    new SqlParameter("@group_id",         SqlDbType.Int,       4),
                                    new SqlParameter("@group_start_time", SqlDbType.DateTime),
                                    new SqlParameter("@group_end_time",   SqlDbType.DateTime),
                                    new SqlParameter("@id",               SqlDbType.Int, 4)
                                };
                                parametersUU[0].Value = ug.id;
                                parametersUU[1].Value = startTime;
                                parametersUU[2].Value = endTime;
                                parametersUU[3].Value = user.id;
                                DbHelperSQL.GetSingle(conn, trans, strSqlUU.ToString(), parametersUU);
                            }
                        }
                        trans.Commit();
                    }
                    catch (Exception ex)
                    {
                        trans.Rollback();
                        return(false);
                    }
                }
            }
            return(true);
        }