Esempio n. 1
0
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public Model.article_spec GetModel(int id)
        {
            StringBuilder strSql = new StringBuilder();
            StringBuilder str1   = new StringBuilder();

            Model.article_spec model = new Model.article_spec();
            //利用反射获得属性的所有公共属性
            PropertyInfo[] pros = model.GetType().GetProperties();
            foreach (PropertyInfo p in pros)
            {
                //拼接字段,忽略List<T>
                if (!typeof(System.Collections.IList).IsAssignableFrom(p.PropertyType))
                {
                    str1.Append(p.Name + ",");
                }
            }
            strSql.Append("select top 1 " + str1.ToString().Trim(','));
            strSql.Append(" from " + databaseprefix + "article_spec");
            strSql.Append(" where id=@id");
            SqlParameter[] parameters =
            {
                new SqlParameter("@id", SqlDbType.Int, 4)
            };
            parameters[0].Value = id;
            DataTable dt = DbHelperSQL.Query(strSql.ToString(), parameters).Tables[0];

            if (dt.Rows.Count > 0)
            {
                return(DataRowToModel(dt.Rows[0]));
            }
            else
            {
                return(null);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public int Add(Model.article_spec model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into " + databaseprefix + "article_spec(");
            strSql.Append("parent_id,title,remark,sort_id)");
            strSql.Append(" values (");
            strSql.Append("@parent_id,@title,@remark,@sort_id)");
            strSql.Append(";set @ReturnValue= @@IDENTITY");
            SqlParameter[] parameters =
            {
                new SqlParameter("@parent_id",   SqlDbType.Int,        4),
                new SqlParameter("@title",       SqlDbType.NVarChar, 100),
                new SqlParameter("@remark",      SqlDbType.NVarChar, 255),
                new SqlParameter("@sort_id",     SqlDbType.Int,        4),
                new SqlParameter("@ReturnValue", SqlDbType.Int)
            };
            parameters[0].Value     = model.parent_id;
            parameters[1].Value     = model.title;
            parameters[2].Value     = model.remark;
            parameters[3].Value     = model.sort_id;
            parameters[4].Direction = ParameterDirection.Output;
            List <CommandInfo> sqllist = new List <CommandInfo>();
            CommandInfo        cmd     = new CommandInfo(strSql.ToString(), parameters);

            sqllist.Add(cmd);

            //规格值列表
            if (model.values != null)
            {
                StringBuilder strSql2;
                foreach (Model.article_spec_value modelt in model.values)
                {
                    strSql2 = new StringBuilder();
                    strSql2.Append("insert into " + databaseprefix + "article_spec(");
                    strSql2.Append("parent_id,title,img_url,sort_id)");
                    strSql2.Append(" values (");
                    strSql2.Append("@parent_id,@title,@img_url,@sort_id)");
                    SqlParameter[] parameters2 =
                    {
                        new SqlParameter("@parent_id", SqlDbType.Int,        4),
                        new SqlParameter("@title",     SqlDbType.NVarChar, 100),
                        new SqlParameter("@img_url",   SqlDbType.NVarChar, 255),
                        new SqlParameter("@sort_id",   SqlDbType.Int, 4)
                    };
                    parameters2[0].Direction = ParameterDirection.InputOutput;
                    parameters2[1].Value     = modelt.title;
                    parameters2[2].Value     = modelt.img_url;
                    parameters2[3].Value     = modelt.sort_id;
                    cmd = new CommandInfo(strSql2.ToString(), parameters2);
                    sqllist.Add(cmd);
                }
            }
            DbHelperSQL.ExecuteSqlTranWithIndentity(sqllist);
            return((int)parameters[4].Value);
        }
Esempio n. 3
0
        /// <summary>
        /// 将对象转换实体
        /// </summary>
        public Model.article_spec DataRowToModel(DataRow row)
        {
            Model.article_spec model = new Model.article_spec();
            if (row != null)
            {
                #region 主表信息======================
                //利用反射获得属性的所有公共属性
                Type modelType = model.GetType();
                for (int i = 0; i < row.Table.Columns.Count; i++)
                {
                    PropertyInfo proInfo = modelType.GetProperty(row.Table.Columns[i].ColumnName);
                    if (proInfo != null && row[i] != DBNull.Value)
                    {
                        //用索引值设置属性值
                        proInfo.SetValue(model, row[i], null);
                    }
                }
                #endregion

                #region 子表信息======================
                StringBuilder strSql1 = new StringBuilder();
                strSql1.Append("select * from " + databaseprefix + "article_spec");
                strSql1.Append(" where parent_id=@parent_id");
                SqlParameter[] parameters1 =
                {
                    new SqlParameter("@parent_id", SqlDbType.Int, 4)
                };
                parameters1[0].Value = model.id;
                DataTable dt1 = DbHelperSQL.Query(strSql1.ToString(), parameters1).Tables[0];

                if (dt1.Rows.Count > 0)
                {
                    int rowsCount = dt1.Rows.Count;
                    List <Model.article_spec_value> models = new List <Model.article_spec_value>();
                    Model.article_spec_value        modelt;
                    for (int n = 0; n < rowsCount; n++)
                    {
                        modelt = new Model.article_spec_value();
                        Type modeltType = modelt.GetType();
                        for (int i = 0; i < dt1.Rows[n].Table.Columns.Count; i++)
                        {
                            PropertyInfo proInfo = modeltType.GetProperty(dt1.Rows[n].Table.Columns[i].ColumnName);
                            if (proInfo != null && dt1.Rows[n][i] != DBNull.Value)
                            {
                                proInfo.SetValue(modelt, dt1.Rows[n][i], null);
                            }
                        }
                        models.Add(modelt);
                    }
                    model.values = models;
                }
                #endregion
            }
            return(model);
        }
Esempio n. 4
0
        private void ShowInfo(int _id)
        {
            BLL.article_spec   bll   = new BLL.article_spec();
            Model.article_spec model = bll.GetModel(_id);

            txtTitle.Text  = model.title;
            txtRemark.Text = model.remark;
            txtSortId.Text = model.sort_id.ToString();
            //绑定规格选项
            rptList.DataSource = model.values;
            rptList.DataBind();
        }
Esempio n. 5
0
        private bool DoEdit(int _id)
        {
            bool result = false;

            BLL.article_spec   bll   = new BLL.article_spec();
            Model.article_spec model = bll.GetModel(_id);

            model.channel_id = this.channel_id;
            model.title      = txtTitle.Text.Trim();
            model.remark     = txtRemark.Text.Trim();
            model.sort_id    = Utils.StrToInt(txtSortId.Text.Trim(), 99);

            #region 保存规格选项
            string[] itemIdArr     = Request.Form.GetValues("item_id");
            string[] itemTitleArr  = Request.Form.GetValues("item_title");
            string[] itemImgUrlArr = Request.Form.GetValues("item_imgurl");
            string[] itemSortIdArr = Request.Form.GetValues("item_sortid");
            if (itemIdArr != null && itemTitleArr != null && itemImgUrlArr != null && itemSortIdArr != null)
            {
                if ((itemIdArr.Length == itemTitleArr.Length) && (itemTitleArr.Length == itemImgUrlArr.Length) && (itemImgUrlArr.Length == itemSortIdArr.Length))
                {
                    List <Model.article_spec_value> ls = new List <Model.article_spec_value>();
                    for (int i = 0; i < itemIdArr.Length; i++)
                    {
                        Model.article_spec_value modelt = new Model.article_spec_value();
                        modelt.id        = Utils.StrToInt(itemIdArr[i].Trim(), 0);
                        modelt.parent_id = model.id;
                        modelt.title     = itemTitleArr[i].Trim();
                        modelt.img_url   = itemImgUrlArr[i].Trim();
                        modelt.sort_id   = Utils.StrToInt(itemSortIdArr[i].Trim(), 99);
                        ls.Add(modelt);
                    }
                    model.values = ls;
                }
            }
            #endregion

            if (bll.Update(model))
            {
                AddAdminLog(DTEnums.ActionEnum.Edit.ToString(), "修改商品规格:" + model.title); //记录日志
                result = true;
            }
            return(result);
        }
Esempio n. 6
0
        private bool DoAdd()
        {
            bool result = false;
            Model.article_spec model = new Model.article_spec();
            BLL.article_spec bll = new BLL.article_spec();

            model.title = txtTitle.Text.Trim();
            model.remark = txtRemark.Text.Trim();
            model.sort_id = Utils.StrToInt(txtSortId.Text.Trim(), 99);

            #region 保存规格选项
            string[] itemIdArr = Request.Form.GetValues("item_id");
            string[] itemTitleArr = Request.Form.GetValues("item_title");
            string[] itemImgUrlArr = Request.Form.GetValues("item_imgurl");
            string[] itemSortIdArr = Request.Form.GetValues("item_sortid");
            if (itemIdArr != null && itemTitleArr != null && itemImgUrlArr != null && itemSortIdArr != null)
            {
                if ((itemIdArr.Length == itemTitleArr.Length) && (itemTitleArr.Length == itemImgUrlArr.Length) && (itemImgUrlArr.Length == itemSortIdArr.Length))
                {
                    List<Model.article_spec_value> ls = new List<Model.article_spec_value>();
                    for (int i = 0; i < itemIdArr.Length; i++)
                    {
                        Model.article_spec_value modelt = new Model.article_spec_value();
                        modelt.id = Utils.StrToInt(itemIdArr[i].Trim(), 0);
                        modelt.title = itemTitleArr[i].Trim();
                        modelt.img_url = itemImgUrlArr[i].Trim();
                        modelt.sort_id = Utils.StrToInt(itemSortIdArr[i].Trim(), 99);
                        ls.Add(modelt);
                    }
                    model.values = ls;
                }
            }
            #endregion

            if (bll.Add(model) > 0)
            {
                AddAdminLog(DTEnums.ActionEnum.Add.ToString(), "添加商品规格:" + model.title); //记录日志
                result = true;
            }
            return result;
        }
Esempio n. 7
0
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public Model.article_spec GetModel(int id)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("select top 1 id,parent_id,title,[remark],sort_id from " + databaseprefix + "article_spec");
            strSql.Append(" where id=@id");
            OleDbParameter[] parameters =
            {
                new OleDbParameter("@id", OleDbType.Integer, 4)
            };
            parameters[0].Value = id;

            Model.article_spec model = new Model.article_spec();
            DataSet            ds    = DbHelperOleDb.Query(strSql.ToString(), parameters);

            if (ds.Tables[0].Rows.Count > 0)
            {
                return(DataRowToModel(ds.Tables[0].Rows[0]));
            }
            else
            {
                return(null);
            }
        }
Esempio n. 8
0
		/// <summary>
		/// 得到一个对象实体
		/// </summary>
        public Model.article_spec DataRowToModel(DataRow row)
        {
            Model.article_spec model = new Model.article_spec();
            if (row != null)
            {
                #region 主表信息======================
                if (row["id"] != null && row["id"].ToString() != "")
                {
                    model.id = int.Parse(row["id"].ToString());
                }
                if (row["parent_id"] != null && row["parent_id"].ToString() != "")
                {
                    model.parent_id = int.Parse(row["parent_id"].ToString());
                }
                if (row["title"] != null)
                {
                    model.title = row["title"].ToString();
                }
                if (row["remark"] != null)
                {
                    model.remark = row["remark"].ToString();
                }
                if (row["sort_id"] != null && row["sort_id"].ToString() != "")
                {
                    model.sort_id = int.Parse(row["sort_id"].ToString());
                }
                #endregion

                #region 子表信息======================
                StringBuilder strSql2 = new StringBuilder();
                strSql2.Append("select id,parent_id,title,img_url,sort_id from " + databaseprefix + "article_spec");
                strSql2.Append(" where parent_id=@parent_id ");
                SqlParameter[] parameters2 = {
					    new SqlParameter("@parent_id", SqlDbType.Int,4)};
                parameters2[0].Value = model.id;
                DataSet ds2 = DbHelperSQL.Query(strSql2.ToString(), parameters2);

                if (ds2.Tables[0].Rows.Count > 0)
                {
                    List<Model.article_spec_value> ls = new List<Model.article_spec_value>();
                    for (int n = 0; n < ds2.Tables[0].Rows.Count; n++)
                    {
                        Model.article_spec_value modelt = new Model.article_spec_value();
                        if (ds2.Tables[0].Rows[n]["id"] != null && ds2.Tables[0].Rows[n]["id"].ToString() != "")
                        {
                            modelt.id = int.Parse(ds2.Tables[0].Rows[n]["id"].ToString());
                        }
                        if (ds2.Tables[0].Rows[n]["parent_id"] != null && ds2.Tables[0].Rows[n]["parent_id"].ToString() != "")
                        {
                            modelt.parent_id = int.Parse(ds2.Tables[0].Rows[n]["parent_id"].ToString());
                        }
                        if (ds2.Tables[0].Rows[n]["title"] != null)
                        {
                            modelt.title = ds2.Tables[0].Rows[n]["title"].ToString();
                        }
                        if (ds2.Tables[0].Rows[n]["img_url"] != null)
                        {
                            modelt.img_url = ds2.Tables[0].Rows[n]["img_url"].ToString();
                        }
                        if (ds2.Tables[0].Rows[n]["sort_id"] != null && ds2.Tables[0].Rows[n]["sort_id"].ToString() != "")
                        {
                            modelt.sort_id = int.Parse(ds2.Tables[0].Rows[n]["sort_id"].ToString());
                        }
                        ls.Add(modelt);
                    }
                    model.values = ls;
                }
                #endregion
            }
            return model;
        }
Esempio n. 9
0
		/// <summary>
		/// 得到一个对象实体
		/// </summary>
        public Model.article_spec GetModel(int id)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("select top 1 id,parent_id,title,remark,sort_id from " + databaseprefix + "article_spec");
            strSql.Append(" where id=@id");
            SqlParameter[] parameters = {
					new SqlParameter("@id", SqlDbType.Int,4)};
            parameters[0].Value = id;

            Model.article_spec model = new Model.article_spec();
            DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);
            if (ds.Tables[0].Rows.Count > 0)
            {
                return DataRowToModel(ds.Tables[0].Rows[0]);
            }
            else
            {
                return null;
            }
        }
Esempio n. 10
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public int Add(Model.article_spec model)
        {
            using (OleDbConnection conn = new OleDbConnection(DbHelperOleDb.connectionString))
            {
                conn.Open();
                using (OleDbTransaction trans = conn.BeginTransaction())
                {
                    try
                    {
                        StringBuilder strSql = new StringBuilder();
                        strSql.Append("insert into " + databaseprefix + "article_spec(");
                        strSql.Append("parent_id,title,[remark],sort_id)");
                        strSql.Append(" values (");
                        strSql.Append("@parent_id,@title,@remark,@sort_id)");
                        OleDbParameter[] parameters =
                        {
                            new OleDbParameter("@parent_id", OleDbType.Integer,   4),
                            new OleDbParameter("@title",     OleDbType.VarChar, 100),
                            new OleDbParameter("@remark",    OleDbType.VarChar, 255),
                            new OleDbParameter("@sort_id",   OleDbType.Integer, 4)
                        };
                        parameters[0].Value = model.parent_id;
                        parameters[1].Value = model.title;
                        parameters[2].Value = model.remark;
                        parameters[3].Value = model.sort_id;
                        DbHelperOleDb.ExecuteSql(conn, trans, strSql.ToString(), parameters);
                        //取得新插入的ID
                        model.id = GetMaxId(conn, trans);

                        //规格值列表
                        if (model.values != null)
                        {
                            StringBuilder strSql2;
                            foreach (Model.article_spec_value modelt in model.values)
                            {
                                strSql2 = new StringBuilder();
                                strSql2.Append("insert into " + databaseprefix + "article_spec(");
                                strSql2.Append("parent_id,title,img_url,sort_id)");
                                strSql2.Append(" values (");
                                strSql2.Append("@parent_id,@title,@img_url,@sort_id)");
                                OleDbParameter[] parameters2 =
                                {
                                    new OleDbParameter("@parent_id", OleDbType.Integer,   4),
                                    new OleDbParameter("@title",     OleDbType.VarChar, 100),
                                    new OleDbParameter("@img_url",   OleDbType.VarChar, 255),
                                    new OleDbParameter("@sort_id",   OleDbType.Integer, 4)
                                };
                                parameters2[0].Value = model.id;
                                parameters2[1].Value = modelt.title;
                                parameters2[2].Value = modelt.img_url;
                                parameters2[3].Value = modelt.sort_id;
                                DbHelperOleDb.ExecuteSql(conn, trans, strSql2.ToString(), parameters2);
                            }
                        }
                        trans.Commit();
                    }
                    catch
                    {
                        trans.Rollback();
                        return(-1);
                    }
                }
            }
            return(model.id);
        }
Esempio n. 11
0
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public Model.article_spec DataRowToModel(DataRow row)
        {
            Model.article_spec model = new Model.article_spec();
            if (row != null)
            {
                #region 主表信息======================
                if (row["id"] != null && row["id"].ToString() != "")
                {
                    model.id = int.Parse(row["id"].ToString());
                }
                if (row["parent_id"] != null && row["parent_id"].ToString() != "")
                {
                    model.parent_id = int.Parse(row["parent_id"].ToString());
                }
                if (row["title"] != null)
                {
                    model.title = row["title"].ToString();
                }
                if (row["remark"] != null)
                {
                    model.remark = row["remark"].ToString();
                }
                if (row["sort_id"] != null && row["sort_id"].ToString() != "")
                {
                    model.sort_id = int.Parse(row["sort_id"].ToString());
                }
                #endregion

                #region 子表信息======================
                StringBuilder strSql2 = new StringBuilder();
                strSql2.Append("select id,parent_id,title,img_url,sort_id from " + databaseprefix + "article_spec");
                strSql2.Append(" where parent_id=@parent_id ");
                OleDbParameter[] parameters2 =
                {
                    new OleDbParameter("@parent_id", OleDbType.Integer, 4)
                };
                parameters2[0].Value = model.id;
                DataSet ds2 = DbHelperOleDb.Query(strSql2.ToString(), parameters2);

                if (ds2.Tables[0].Rows.Count > 0)
                {
                    List <Model.article_spec_value> ls = new List <Model.article_spec_value>();
                    for (int n = 0; n < ds2.Tables[0].Rows.Count; n++)
                    {
                        Model.article_spec_value modelt = new Model.article_spec_value();
                        if (ds2.Tables[0].Rows[n]["id"] != null && ds2.Tables[0].Rows[n]["id"].ToString() != "")
                        {
                            modelt.id = int.Parse(ds2.Tables[0].Rows[n]["id"].ToString());
                        }
                        if (ds2.Tables[0].Rows[n]["parent_id"] != null && ds2.Tables[0].Rows[n]["parent_id"].ToString() != "")
                        {
                            modelt.parent_id = int.Parse(ds2.Tables[0].Rows[n]["parent_id"].ToString());
                        }
                        if (ds2.Tables[0].Rows[n]["title"] != null)
                        {
                            modelt.title = ds2.Tables[0].Rows[n]["title"].ToString();
                        }
                        if (ds2.Tables[0].Rows[n]["img_url"] != null)
                        {
                            modelt.img_url = ds2.Tables[0].Rows[n]["img_url"].ToString();
                        }
                        if (ds2.Tables[0].Rows[n]["sort_id"] != null && ds2.Tables[0].Rows[n]["sort_id"].ToString() != "")
                        {
                            modelt.sort_id = int.Parse(ds2.Tables[0].Rows[n]["sort_id"].ToString());
                        }
                        ls.Add(modelt);
                    }
                    model.values = ls;
                }
                #endregion
            }
            return(model);
        }
Esempio n. 12
0
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public bool Update(Model.article_spec model)
        {
            using (OleDbConnection conn = new OleDbConnection(DbHelperOleDb.connectionString))
            {
                conn.Open();
                using (OleDbTransaction trans = conn.BeginTransaction())
                {
                    try
                    {
                        #region 主表信息============================
                        StringBuilder strSql = new StringBuilder();
                        strSql.Append("update " + databaseprefix + "article_spec set ");
                        strSql.Append("parent_id=@parent_id,");
                        strSql.Append("title=@title,");
                        strSql.Append("[remark]=@remark,");
                        strSql.Append("sort_id=@sort_id");
                        strSql.Append(" where id=@id");
                        OleDbParameter[] parameters =
                        {
                            new OleDbParameter("@parent_id", OleDbType.Integer,   4),
                            new OleDbParameter("@title",     OleDbType.VarChar, 100),
                            new OleDbParameter("@remark",    OleDbType.VarChar, 255),
                            new OleDbParameter("@sort_id",   OleDbType.Integer,   4),
                            new OleDbParameter("@id",        OleDbType.Integer, 4)
                        };
                        parameters[0].Value = model.parent_id;
                        parameters[1].Value = model.title;
                        parameters[2].Value = model.remark;
                        parameters[3].Value = model.sort_id;
                        parameters[4].Value = model.id;
                        DbHelperOleDb.ExecuteSql(conn, trans, strSql.ToString(), parameters);
                        #endregion

                        #region 修改规格值==========================
                        //删除已删除的规格值
                        DeleteList(conn, trans, model.values, model.id);
                        //添加/修改规格值
                        if (model.values != null)
                        {
                            StringBuilder strSql2;
                            foreach (Model.article_spec_value modelt in model.values)
                            {
                                strSql2 = new StringBuilder();
                                if (modelt.id > 0)
                                {
                                    strSql2.Append("update " + databaseprefix + "article_spec set ");
                                    strSql2.Append("parent_id=@parent_id,");
                                    strSql2.Append("title=@title,");
                                    strSql2.Append("img_url=@img_url,");
                                    strSql2.Append("sort_id=@sort_id");
                                    strSql2.Append(" where id=@id");
                                    OleDbParameter[] parameters2 =
                                    {
                                        new OleDbParameter("@parent_id", OleDbType.Integer,   4),
                                        new OleDbParameter("@title",     OleDbType.VarChar, 100),
                                        new OleDbParameter("@img_url",   OleDbType.VarChar, 255),
                                        new OleDbParameter("@sort_id",   OleDbType.Integer,   4),
                                        new OleDbParameter("@id",        OleDbType.Integer, 4)
                                    };
                                    parameters2[0].Value = modelt.parent_id;
                                    parameters2[1].Value = modelt.title;
                                    parameters2[2].Value = modelt.img_url;
                                    parameters2[3].Value = modelt.sort_id;
                                    parameters2[4].Value = modelt.id;
                                    DbHelperOleDb.ExecuteSql(conn, trans, strSql2.ToString(), parameters2);
                                }
                                else
                                {
                                    strSql2 = new StringBuilder();
                                    strSql2.Append("insert into " + databaseprefix + "article_spec(");
                                    strSql2.Append("parent_id,title,img_url,sort_id)");
                                    strSql2.Append(" values (");
                                    strSql2.Append("@parent_id,@title,@img_url,@sort_id)");
                                    OleDbParameter[] parameters2 =
                                    {
                                        new OleDbParameter("@parent_id", OleDbType.Integer,   4),
                                        new OleDbParameter("@title",     OleDbType.VarChar, 100),
                                        new OleDbParameter("@img_url",   OleDbType.VarChar, 255),
                                        new OleDbParameter("@sort_id",   OleDbType.Integer, 4)
                                    };
                                    parameters2[0].Value = modelt.parent_id;
                                    parameters2[1].Value = modelt.title;
                                    parameters2[2].Value = modelt.img_url;
                                    parameters2[3].Value = modelt.sort_id;
                                    DbHelperOleDb.ExecuteSql(conn, trans, strSql2.ToString(), parameters2);
                                }
                            }
                        }
                        #endregion

                        trans.Commit();
                    }
                    catch
                    {
                        trans.Rollback();
                        return(false);
                    }
                }
            }
            return(true);
        }
Esempio n. 13
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public int Add(Model.article_spec model)
        {
            using (SqlConnection conn = new SqlConnection(DbHelperSQL.connectionString))
            {
                conn.Open();//打开数据连接
                using (SqlTransaction trans = conn.BeginTransaction())
                {
                    try
                    {
                        #region 主表信息==========================
                        StringBuilder strSql = new StringBuilder();
                        //数据字段
                        StringBuilder str1 = new StringBuilder();
                        //数据参数
                        StringBuilder str2 = new StringBuilder();
                        //利用反射获得属性的所有公共属性
                        PropertyInfo[]      pros  = model.GetType().GetProperties();
                        List <SqlParameter> paras = new List <SqlParameter>();
                        strSql.Append("insert into " + databaseprefix + "article_spec(");
                        foreach (PropertyInfo pi in pros)
                        {
                            //如果不是主键或List<T>则追加sql字符串
                            if (!pi.Name.Equals("id") && !typeof(System.Collections.IList).IsAssignableFrom(pi.PropertyType))
                            {
                                //判断属性值是否为空
                                if (pi.GetValue(model, null) != null)
                                {
                                    //拼接字段
                                    str1.Append(pi.Name + ",");
                                    //声明参数
                                    str2.Append("@" + pi.Name + ",");
                                    //对参数赋值
                                    paras.Add(new SqlParameter("@" + pi.Name, pi.GetValue(model, null)));
                                }
                            }
                        }
                        strSql.Append(str1.ToString().Trim(','));
                        strSql.Append(") values (");
                        strSql.Append(str2.ToString().Trim(','));
                        strSql.Append(") ");
                        strSql.Append(";select @@IDENTITY;");
                        object obj = DbHelperSQL.GetSingle(conn, trans, strSql.ToString(), paras.ToArray());//带事务
                        model.id = Convert.ToInt32(obj);
                        #endregion

                        #region 规格值信息========================
                        if (model.values != null)
                        {
                            StringBuilder strSql2; //SQL字符串
                            StringBuilder str21;   //数据库字段
                            StringBuilder str22;   //声明参数
                            foreach (Model.article_spec_value modelt in model.values)
                            {
                                strSql2 = new StringBuilder();
                                str21   = new StringBuilder();
                                str22   = new StringBuilder();
                                PropertyInfo[]      pros2  = modelt.GetType().GetProperties();
                                List <SqlParameter> paras2 = new List <SqlParameter>();
                                strSql2.Append("insert into " + databaseprefix + "article_spec(");
                                foreach (PropertyInfo pi in pros2)
                                {
                                    if (!pi.Name.Equals("id"))
                                    {
                                        if (pi.GetValue(modelt, null) != null)
                                        {
                                            str21.Append(pi.Name + ",");
                                            str22.Append("@" + pi.Name + ",");
                                            if (pi.Name.Equals("parent_id"))
                                            {
                                                paras2.Add(new SqlParameter("@" + pi.Name, model.id));//将刚插入的父ID赋值
                                            }
                                            else
                                            {
                                                paras2.Add(new SqlParameter("@" + pi.Name, pi.GetValue(modelt, null)));
                                            }
                                        }
                                    }
                                }
                                strSql2.Append(str21.ToString().Trim(','));
                                strSql2.Append(") values (");
                                strSql2.Append(str22.ToString().Trim(','));
                                strSql2.Append(") ");
                                DbHelperSQL.ExecuteSql(conn, trans, strSql2.ToString(), paras2.ToArray());
                            }
                        }
                        #endregion

                        trans.Commit();//提交事务
                    }
                    catch
                    {
                        trans.Rollback();//回滚事务
                        return(0);
                    }
                }
            }
            return(model.id);
        }
Esempio n. 14
0
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public bool Update(Model.article_spec model)
        {
            using (SqlConnection conn = new SqlConnection(DbHelperSQL.connectionString))
            {
                conn.Open();//打开数据连接
                using (SqlTransaction trans = conn.BeginTransaction())
                {
                    try
                    {
                        #region 主表信息==========================
                        StringBuilder strSql = new StringBuilder();
                        StringBuilder str1   = new StringBuilder();
                        //利用反射获得属性的所有公共属性
                        PropertyInfo[]      pros  = model.GetType().GetProperties();
                        List <SqlParameter> paras = new List <SqlParameter>();
                        strSql.Append("update  " + databaseprefix + "article_spec set ");
                        foreach (PropertyInfo pi in pros)
                        {
                            //如果不是主键或List<T>则追加sql字符串
                            if (!pi.Name.Equals("id") && !typeof(System.Collections.IList).IsAssignableFrom(pi.PropertyType))
                            {
                                //判断属性值是否为空
                                if (pi.GetValue(model, null) != null)
                                {
                                    //声明参数
                                    str1.Append(pi.Name + "=@" + pi.Name + ",");
                                    //对参数赋值
                                    paras.Add(new SqlParameter("@" + pi.Name, pi.GetValue(model, null)));
                                }
                            }
                        }
                        strSql.Append(str1.ToString().Trim(','));
                        strSql.Append(" where id=@id ");
                        paras.Add(new SqlParameter("@id", model.id));
                        DbHelperSQL.ExecuteSql(conn, trans, strSql.ToString(), paras.ToArray());
                        #endregion

                        #region 规格值信息========================
                        //删除已删除的规格值
                        DeleteValues(conn, trans, model.values, model.id);
                        //添加/修改规格值
                        if (model.values != null)
                        {
                            StringBuilder strSql2; //SQL字符串
                            StringBuilder str21;   //数据库字段
                            StringBuilder str22;   //声明参数
                            foreach (Model.article_spec_value modelt in model.values)
                            {
                                strSql2 = new StringBuilder();
                                str21   = new StringBuilder();
                                str22   = new StringBuilder();
                                PropertyInfo[]      pros2  = modelt.GetType().GetProperties();
                                List <SqlParameter> paras2 = new List <SqlParameter>();
                                if (modelt.id > 0)
                                {
                                    strSql2.Append("update " + databaseprefix + "article_spec set ");
                                    foreach (PropertyInfo pi in pros2)
                                    {
                                        //如果不是主键则追加sql字符串
                                        if (!pi.Name.Equals("id"))
                                        {
                                            //判断属性值是否为空
                                            if (pi.GetValue(modelt, null) != null)
                                            {
                                                str21.Append(pi.Name + "=@" + pi.Name + ",");
                                                paras2.Add(new SqlParameter("@" + pi.Name, pi.GetValue(modelt, null)));
                                            }
                                        }
                                    }
                                    strSql2.Append(str21.ToString().Trim(','));
                                    strSql2.Append(" where id=@id ");
                                    paras2.Add(new SqlParameter("@id", modelt.id));
                                    DbHelperSQL.ExecuteSql(conn, trans, strSql2.ToString(), paras2.ToArray());
                                }
                                else
                                {
                                    strSql2.Append("insert into " + databaseprefix + "article_spec(");
                                    foreach (PropertyInfo pi in pros2)
                                    {
                                        if (!pi.Name.Equals("id"))
                                        {
                                            if (pi.GetValue(modelt, null) != null && !pi.GetValue(modelt, null).ToString().Equals(""))
                                            {
                                                str21.Append(pi.Name + ",");
                                                str22.Append("@" + pi.Name + ",");
                                                paras2.Add(new SqlParameter("@" + pi.Name, pi.GetValue(modelt, null)));
                                            }
                                        }
                                    }
                                    strSql2.Append(str21.ToString().Trim(','));
                                    strSql2.Append(") values (");
                                    strSql2.Append(str22.ToString().Trim(','));
                                    strSql2.Append(") ");
                                    DbHelperSQL.ExecuteSql(conn, trans, strSql2.ToString(), paras2.ToArray());
                                }
                            }
                        }
                        #endregion

                        trans.Commit();//提交事务
                    }
                    catch
                    {
                        trans.Rollback();//回滚事务
                        return(false);
                    }
                }
            }
            return(true);
        }
Esempio n. 15
0
 /// <summary>
 /// 增加一条数据
 /// </summary>
 public int Add(Model.article_spec model)
 {
     return(dal.Add(model));
 }
Esempio n. 16
0
 /// <summary>
 /// 更新一条数据
 /// </summary>
 public bool Update(Model.article_spec model)
 {
     return(dal.Update(model));
 }
Esempio n. 17
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public int Add(Model.article_spec model)
        {
            int i = 0;

            using (IDbConnection conn = new DapperView().Context())
            {
                using (IDbTransaction trans = conn.BeginTransaction())
                {
                    try
                    {
                        #region 主表信息==========================
                        StringBuilder strSql = new StringBuilder();
                        //数据字段
                        StringBuilder str1 = new StringBuilder();
                        //数据参数
                        StringBuilder str2 = new StringBuilder();
                        //利用反射获得属性的所有公共属性
                        PropertyInfo[] pros  = model.GetType().GetProperties();
                        List <object>  paras = new List <object>();
                        strSql.Append("insert into " + databaseprefix + "article_spec(");
                        foreach (PropertyInfo pi in pros)
                        {
                            //如果不是主键或List<T>则追加sql字符串
                            if (!pi.Name.Equals("id") && !typeof(System.Collections.IList).IsAssignableFrom(pi.PropertyType))
                            {
                                //判断属性值是否为空
                                if (pi.GetValue(model, null) != null && !pi.GetValue(model, null).ToString().Equals(""))
                                {
                                    //拼接字段
                                    str1.Append(pi.Name + ",");
                                    //声明参数
                                    str2.Append("@" + i + ",");
                                    i++;
                                    //对参数赋值
                                    paras.Add(pi.GetValue(model, null));
                                }
                            }
                        }
                        strSql.Append(str1.ToString().Trim(','));
                        strSql.Append(") values (");
                        strSql.Append(str2.ToString().Trim(','));
                        strSql.Append(") ");
                        strSql.Append(";SELECT @@@IDENTITY;");
                        object obj = WriteDataBase.ExecuteScalar <object>(conn, trans, strSql.ToString(), paras.ToArray());
                        model.id = Convert.ToInt32(obj);
                        #endregion

                        #region 规格值信息========================
                        if (model.values != null)
                        {
                            StringBuilder strSql2; //SQL字符串
                            StringBuilder str21;   //数据库字段
                            StringBuilder str22;   //声明参数
                            foreach (Model.article_spec_value modelt in model.values)
                            {
                                i       = 0;
                                strSql2 = new StringBuilder();
                                str21   = new StringBuilder();
                                str22   = new StringBuilder();
                                PropertyInfo[] pros2  = modelt.GetType().GetProperties();
                                List <object>  paras2 = new List <object>();
                                strSql2.Append("insert into " + databaseprefix + "article_spec(");
                                foreach (PropertyInfo pi in pros2)
                                {
                                    if (!pi.Name.Equals("id"))
                                    {
                                        if (pi.GetValue(modelt, null) != null && !pi.GetValue(modelt, null).ToString().Equals(""))
                                        {
                                            str21.Append(pi.Name + ",");
                                            str22.Append("@" + i + ",");
                                            i++;
                                            if (pi.Name.Equals("parent_id"))
                                            {
                                                paras2.Add(model.id);//将刚插入的父ID赋值
                                            }
                                            else
                                            {
                                                paras2.Add(pi.GetValue(modelt, null));
                                            }
                                        }
                                    }
                                }
                                strSql2.Append(str21.ToString().Trim(','));
                                strSql2.Append(") values (");
                                strSql2.Append(str22.ToString().Trim(','));
                                strSql2.Append(") ");
                                WriteDataBase.Execute(conn, trans, strSql2.ToString(), paras2.ToArray());
                            }
                        }
                        #endregion

                        trans.Commit();//提交事务
                    }
                    catch (Exception ex)
                    {
                        trans.Rollback();//回滚事务
                        return(0);
                    }
                }
            }
            return(model.id);
        }