/// <summary>
        /// 得到一个对象实体 主表
        /// </summary>
        public SCZM.Model.System.sys_Bulletin GetModelMain(int ID)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("select ID,BulletinName,ReceiveDepId,ReceiveDepName,BulletinContent,Attachment,FlagTop,BillState,FlagDel,OperaId,OperaName,OperaTime from sys_Bulletin ");
            strSql.Append(" where FlagDel=0 and ID=@ID ");
            SqlParameter[] parameters =
            {
                new SqlParameter("@ID", SqlDbType.Int, 4)
            };
            parameters[0].Value = ID;

            SCZM.Model.System.sys_Bulletin model = new SCZM.Model.System.sys_Bulletin();
            DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);

            if (ds.Tables[0].Rows.Count > 0)
            {
                #region  父表信息
                model = DataRowToModel(ds.Tables[0].Rows[0]);
                #endregion  父表信息end

                return(model);
            }
            else
            {
                return(null);
            }
        }
        /// <summary>
        /// 更新一条数据


        /// </summary>
        public bool Update(SCZM.Model.System.sys_Bulletin model, string fileId, out string message)
        {
            message = "修改成功!";
            int rows = dal.Update(model);

            if (rows == 0)
            {
                message = "对不起,该条数据已被其他人删除!";
                return(false);
            }
            else
            {
                DAL.System.sys_Attachment attachDal = new DAL.System.sys_Attachment();

                attachDal.DelUseList("公告", model.ID);
                if (fileId != "")
                {
                    attachDal.UpdateUseList(fileId, "公告", model.ID);
                }
                if (model.Attachment != "")
                {
                    attachDal.UpdateUseList(fileId, "公告", model.ID);
                }
                return(true);
            }
        }
        /// <summary>
        /// 增加一条数据


        /// </summary>
        public int Add(SCZM.Model.System.sys_Bulletin model, string fileId, out string message)
        {
            message = "新增成功!";
            int rowId = dal.Add(model);

            if (rowId < 1)
            {
                message = "新增失败!";
            }
            else
            {
                if (fileId != "")
                {
                    new DAL.System.sys_Attachment().UpdateUseList(fileId, "公告", rowId);
                }
                if (model.Attachment != "")
                {
                    new DAL.System.sys_Attachment().UpdateUseList(fileId, "公告", rowId);
                }
            }
            return(rowId);
        }
        /// <summary>
        /// 增加一条数据,及其子表数据
        /// </summary>
        public int Add(SCZM.Model.System.sys_Bulletin model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into sys_Bulletin(");
            strSql.Append("BulletinName,ReceiveDepId,ReceiveDepName,BulletinContent,Attachment,FlagTop,BillState,FlagDel,OperaId,OperaName,OperaTime)");
            strSql.Append(" values (");
            strSql.Append("@BulletinName,@ReceiveDepId,@ReceiveDepName,@BulletinContent,@Attachment,@FlagTop,@BillState,@FlagDel,@OperaId,@OperaName,@OperaTime)");
            strSql.Append(";set @ReturnValue= @@IDENTITY");
            SqlParameter[] parameters =
            {
                new SqlParameter("@BulletinName",    SqlDbType.NVarChar,    50),
                new SqlParameter("@ReceiveDepId",    SqlDbType.VarChar,   1000),
                new SqlParameter("@ReceiveDepName",  SqlDbType.NVarChar,  2000),
                new SqlParameter("@BulletinContent", SqlDbType.NText),
                new SqlParameter("@Attachment",      SqlDbType.VarChar,    100),
                new SqlParameter("@FlagTop",         SqlDbType.Int,          4),
                new SqlParameter("@BillState",       SqlDbType.Int,          4),
                new SqlParameter("@FlagDel",         SqlDbType.Bit,          1),
                new SqlParameter("@OperaId",         SqlDbType.Int,          4),
                new SqlParameter("@OperaName",       SqlDbType.NVarChar,    20),
                new SqlParameter("@OperaTime",       SqlDbType.DateTime),
                new SqlParameter("@ReturnValue",     SqlDbType.Int)
            };
            parameters[0].Value      = model.BulletinName;
            parameters[1].Value      = model.ReceiveDepId;
            parameters[2].Value      = model.ReceiveDepName;
            parameters[3].Value      = model.BulletinContent;
            parameters[4].Value      = model.Attachment;
            parameters[5].Value      = model.FlagTop;
            parameters[6].Value      = model.BillState;
            parameters[7].Value      = model.FlagDel;
            parameters[8].Value      = model.OperaId;
            parameters[9].Value      = model.OperaName;
            parameters[10].Value     = model.OperaTime;
            parameters[11].Direction = ParameterDirection.Output;

            List <CommandInfo> sqllist = new List <CommandInfo>();
            CommandInfo        cmd     = new CommandInfo(strSql.ToString(), parameters);

            sqllist.Add(cmd);

            StringBuilder strSql2;

            if (model.sys_BulletinReceiveDeps != null)
            {
                foreach (SCZM.Model.System.sys_BulletinReceiveDep models in model.sys_BulletinReceiveDeps)
                {
                    strSql2 = new StringBuilder();
                    strSql2.Append("insert into sys_BulletinReceiveDep(");
                    strSql2.Append("BulletinId,ReceiveDepId,FlagDel)");
                    strSql2.Append(" values (");
                    strSql2.Append("@BulletinId,@ReceiveDepId,@FlagDel)");
                    SqlParameter[] parameters2 =
                    {
                        new SqlParameter("@BulletinId",   SqlDbType.Int, 4),
                        new SqlParameter("@ReceiveDepId", SqlDbType.Int, 4),
                        new SqlParameter("@FlagDel",      SqlDbType.Bit, 1)
                    };
                    parameters2[0].Direction = ParameterDirection.InputOutput;
                    parameters2[1].Value     = models.ReceiveDepId;
                    parameters2[2].Value     = models.FlagDel;

                    cmd = new CommandInfo(strSql2.ToString(), parameters2);
                    sqllist.Add(cmd);
                }
            }
            DbHelperSQL.ExecuteSqlTranWithIndentity(sqllist);
            return((int)parameters[11].Value);
        }
        /// <summary>
        /// 得到一个对象实体 子方法 从DataRow中


        /// </summary>
        public SCZM.Model.System.sys_Bulletin DataRowToModel(DataRow row)
        {
            SCZM.Model.System.sys_Bulletin model = new SCZM.Model.System.sys_Bulletin();
            if (row != null)
            {
                if (row["ID"] != null && row["ID"].ToString() != "")
                {
                    model.ID = int.Parse(row["ID"].ToString());
                }
                if (row["BulletinName"] != null)
                {
                    model.BulletinName = row["BulletinName"].ToString();
                }
                if (row["ReceiveDepId"] != null)
                {
                    model.ReceiveDepId = row["ReceiveDepId"].ToString();
                }
                if (row["ReceiveDepName"] != null)
                {
                    model.ReceiveDepName = row["ReceiveDepName"].ToString();
                }
                if (row["BulletinContent"] != null)
                {
                    model.BulletinContent = row["BulletinContent"].ToString();
                }
                if (row["Attachment"] != null)
                {
                    model.Attachment = row["Attachment"].ToString();
                }
                if (row["FlagTop"] != null && row["FlagTop"].ToString() != "")
                {
                    model.FlagTop = int.Parse(row["FlagTop"].ToString());
                }
                if (row["BillState"] != null && row["BillState"].ToString() != "")
                {
                    model.BillState = int.Parse(row["BillState"].ToString());
                }
                if (row["FlagDel"] != null && row["FlagDel"].ToString() != "")
                {
                    if ((row["FlagDel"].ToString() == "1") || (row["FlagDel"].ToString().ToLower() == "true"))
                    {
                        model.FlagDel = true;
                    }
                    else
                    {
                        model.FlagDel = false;
                    }
                }
                if (row["OperaId"] != null && row["OperaId"].ToString() != "")
                {
                    model.OperaId = int.Parse(row["OperaId"].ToString());
                }
                if (row["OperaName"] != null)
                {
                    model.OperaName = row["OperaName"].ToString();
                }
                if (row["OperaTime"] != null && row["OperaTime"].ToString() != "")
                {
                    model.OperaTime = DateTime.Parse(row["OperaTime"].ToString());
                }
            }
            return(model);
        }
        /// <summary>
        /// 得到一个对象实体


        /// </summary>
        public SCZM.Model.System.sys_Bulletin GetModel(int ID)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("select ID,BulletinName,ReceiveDepId,ReceiveDepName,BulletinContent,Attachment,FlagTop,BillState,FlagDel,OperaId,OperaName,OperaTime from sys_Bulletin ");
            strSql.Append(" where FlagDel=0 and ID=@ID ");
            SqlParameter[] parameters =
            {
                new SqlParameter("@ID", SqlDbType.Int, 4)
            };
            parameters[0].Value = ID;

            SCZM.Model.System.sys_Bulletin model = new SCZM.Model.System.sys_Bulletin();
            DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);

            if (ds.Tables[0].Rows.Count > 0)
            {
                #region  父表信息
                model = DataRowToModel(ds.Tables[0].Rows[0]);
                #endregion  父表信息end

                #region  子表信息
                StringBuilder strSql2 = new StringBuilder();
                strSql2.Append("select ID,BulletinId,ReceiveDepId,FlagDel from sys_BulletinReceiveDep ");
                strSql2.Append(" where FlagDel=0 and BulletinId=@BulletinId ");
                SqlParameter[] parameters2 =
                {
                    new SqlParameter("@BulletinId", SqlDbType.Int, 4)
                };
                parameters2[0].Value = ID;
                DataSet ds2 = DbHelperSQL.Query(strSql2.ToString(), parameters2);
                if (ds2.Tables[0].Rows.Count > 0)
                {
                    #region  子表字段信息
                    int i = ds2.Tables[0].Rows.Count;
                    List <SCZM.Model.System.sys_BulletinReceiveDep> models = new List <SCZM.Model.System.sys_BulletinReceiveDep>();
                    SCZM.Model.System.sys_BulletinReceiveDep        modelt;
                    for (int n = 0; n < i; n++)
                    {
                        modelt = new SCZM.Model.System.sys_BulletinReceiveDep();
                        if (ds2.Tables[0].Rows[n]["ID"].ToString() != 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]["BulletinId"].ToString() != null && ds2.Tables[0].Rows[n]["BulletinId"].ToString() != "")
                        {
                            modelt.BulletinId = int.Parse(ds2.Tables[0].Rows[n]["BulletinId"].ToString());
                        }
                        if (ds2.Tables[0].Rows[n]["ReceiveDepId"].ToString() != null && ds2.Tables[0].Rows[n]["ReceiveDepId"].ToString() != "")
                        {
                            modelt.ReceiveDepId = int.Parse(ds2.Tables[0].Rows[n]["ReceiveDepId"].ToString());
                        }
                        if (ds2.Tables[0].Rows[n]["FlagDel"].ToString() != null && ds2.Tables[0].Rows[n]["FlagDel"].ToString() != "")
                        {
                            if ((ds2.Tables[0].Rows[n]["FlagDel"].ToString() == "1") || (ds2.Tables[0].Rows[n]["FlagDel"].ToString().ToLower() == "true"))
                            {
                                modelt.FlagDel = true;
                            }
                            else
                            {
                                modelt.FlagDel = false;
                            }
                        }
                        models.Add(modelt);
                    }
                    model.sys_BulletinReceiveDeps = models;
                    #endregion  子表字段信息end
                }
                #endregion  子表信息end

                return(model);
            }
            else
            {
                return(null);
            }
        }
        /// <summary>
        /// 更新一条数据


        /// </summary>
        public int Update(SCZM.Model.System.sys_Bulletin model)
        {
            List <CommandInfo> sqllist = new List <CommandInfo>();
            CommandInfo        cmd     = null;
            StringBuilder      strSql  = new StringBuilder();

            strSql.Append("update sys_Bulletin set ");
            strSql.Append("BulletinName=@BulletinName,");
            strSql.Append("ReceiveDepId=@ReceiveDepId,");
            strSql.Append("ReceiveDepName=@ReceiveDepName,");
            strSql.Append("BulletinContent=@BulletinContent,");
            strSql.Append("Attachment=@Attachment,");
            strSql.Append("FlagTop=@FlagTop,");
            strSql.Append("BillState=@BillState,");
            strSql.Append("FlagDel=@FlagDel,");
            strSql.Append("OperaId=@OperaId,");
            strSql.Append("OperaName=@OperaName,");
            strSql.Append("OperaTime=@OperaTime");
            strSql.Append(" where FlagDel=0 and ID=@ID ");
            SqlParameter[] parameters =
            {
                new SqlParameter("@BulletinName",    SqlDbType.NVarChar,    50),
                new SqlParameter("@ReceiveDepId",    SqlDbType.VarChar,   1000),
                new SqlParameter("@ReceiveDepName",  SqlDbType.NVarChar,  2000),
                new SqlParameter("@BulletinContent", SqlDbType.NText),
                new SqlParameter("@Attachment",      SqlDbType.VarChar,    100),
                new SqlParameter("@FlagTop",         SqlDbType.Int,          4),
                new SqlParameter("@BillState",       SqlDbType.Int,          4),
                new SqlParameter("@FlagDel",         SqlDbType.Bit,          1),
                new SqlParameter("@OperaId",         SqlDbType.Int,          4),
                new SqlParameter("@OperaName",       SqlDbType.NVarChar,    20),
                new SqlParameter("@OperaTime",       SqlDbType.DateTime),
                new SqlParameter("@ID",              SqlDbType.Int, 4)
            };
            parameters[0].Value  = model.BulletinName;
            parameters[1].Value  = model.ReceiveDepId;
            parameters[2].Value  = model.ReceiveDepName;
            parameters[3].Value  = model.BulletinContent;
            parameters[4].Value  = model.Attachment;
            parameters[5].Value  = model.FlagTop;
            parameters[6].Value  = model.BillState;
            parameters[7].Value  = model.FlagDel;
            parameters[8].Value  = model.OperaId;
            parameters[9].Value  = model.OperaName;
            parameters[10].Value = model.OperaTime;
            parameters[11].Value = model.ID;

            cmd = new CommandInfo(strSql.ToString(), parameters);
            sqllist.Add(cmd);

            StringBuilder strSql2 = new StringBuilder();

            strSql2.Append("delete from  sys_BulletinReceiveDep where BulletinId=@BulletinId ");
            SqlParameter[] parameters2 =
            {
                new SqlParameter("@BulletinId", SqlDbType.Int, 4)
            };
            parameters2[0].Value = model.ID;
            cmd = new CommandInfo(strSql2.ToString(), parameters2);
            sqllist.Add(cmd);

            StringBuilder strSql3;

            if (model.sys_BulletinReceiveDeps != null)
            {
                foreach (SCZM.Model.System.sys_BulletinReceiveDep models in model.sys_BulletinReceiveDeps)
                {
                    strSql3 = new StringBuilder();
                    strSql3.Append("insert into sys_BulletinReceiveDep(");
                    strSql3.Append("BulletinId,ReceiveDepId,FlagDel)");
                    strSql3.Append(" values (");
                    strSql3.Append("@BulletinId,@ReceiveDepId,@FlagDel)");
                    SqlParameter[] parameters3 =
                    {
                        new SqlParameter("@BulletinId",   SqlDbType.Int, 4),
                        new SqlParameter("@ReceiveDepId", SqlDbType.Int, 4),
                        new SqlParameter("@FlagDel",      SqlDbType.Bit, 1)
                    };
                    parameters3[0].Value = model.ID;
                    parameters3[1].Value = models.ReceiveDepId;
                    parameters3[2].Value = models.FlagDel;

                    cmd = new CommandInfo(strSql3.ToString(), parameters3);
                    sqllist.Add(cmd);
                }
            }
            int rows = DbHelperSQL.ExecuteSqlTran(sqllist);

            return(rows);
        }