/// <summary>
        /// 将IDataReader的当前记录读取到RevelationInfoEntity 对象
        /// </summary>
        /// <param name="reader"></param>
        /// <returns></returns>
        public RevelationInfoEntity LoadSingleRow(IDataReader reader)
        {
            var obj = new RevelationInfoEntity();

            obj.ManagerId     = (System.Guid)reader["ManagerId"];
            obj.Courage       = (System.Int32)reader["Courage"];
            obj.LockMark      = (System.Int32)reader["LockMark"];
            obj.PresentMark   = (System.Int32)reader["PresentMark"];
            obj.Schedule      = (System.Int32)reader["Schedule"];
            obj.IsGeneralMark = (System.Boolean)reader["IsGeneralMark"];
            obj.PassLog       = (System.String)reader["PassLog"];
            obj.FirstPassLog  = (System.String)reader["FirstPassLog"];
            obj.DayMatchLog   = (System.String)reader["DayMatchLog"];
            obj.Morale        = (System.Int32)reader["Morale"];
            obj.IsHaveDraw    = (System.Boolean)reader["IsHaveDraw"];
            obj.DrawId        = (System.Guid)reader["DrawId"];
            obj.IsHook        = (System.Boolean)reader["IsHook"];
            obj.HookId        = (System.Guid)reader["HookId"];
            obj.RefreshData   = (System.DateTime)reader["RefreshData"];
            obj.Status        = (System.Int32)reader["Status"];
            obj.UpdateTime    = (System.DateTime)reader["UpdateTime"];
            obj.RowTime       = (System.DateTime)reader["RowTime"];

            return(obj);
        }
        /// <summary>
        /// GetById
        /// </summary>
        /// <param name="managerId">managerId</param>
        /// <returns>RevelationInfoEntity</returns>
        /// <remarks>2017/1/10 17:13:02</remarks>
        public RevelationInfoEntity GetById(System.Guid managerId)
        {
            var database = new SqlDatabase(this.ConnectionString);

            DbCommand commandWrapper = database.GetStoredProcCommand("P_RevelationInfo_GetById");

            database.AddInParameter(commandWrapper, "@ManagerId", DbType.Guid, managerId);


            RevelationInfoEntity obj = null;

            using (IDataReader reader = database.ExecuteReader(commandWrapper))
            {
                if (reader.Read())
                {
                    obj = LoadSingleRow(reader);
                }
            }
            return(obj);
        }
        /// <summary>
        /// 带事务的Update
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="trans">The trans.</param>
        /// <returns></returns>
        /// <remarks>2017/1/10 17:13:02</remarks>
        public bool Update(RevelationInfoEntity entity, DbTransaction trans = null)
        {
            var       database       = new SqlDatabase(this.ConnectionString);
            DbCommand commandWrapper = database.GetStoredProcCommand("dbo.P_RevelationInfo_Update");

            database.AddInParameter(commandWrapper, "@ManagerId", DbType.Guid, entity.ManagerId);
            database.AddInParameter(commandWrapper, "@Courage", DbType.Int32, entity.Courage);
            database.AddInParameter(commandWrapper, "@LockMark", DbType.Int32, entity.LockMark);
            database.AddInParameter(commandWrapper, "@PresentMark", DbType.Int32, entity.PresentMark);
            database.AddInParameter(commandWrapper, "@Schedule", DbType.Int32, entity.Schedule);
            database.AddInParameter(commandWrapper, "@IsGeneralMark", DbType.Boolean, entity.IsGeneralMark);
            database.AddInParameter(commandWrapper, "@PassLog", DbType.AnsiString, entity.PassLog);
            database.AddInParameter(commandWrapper, "@FirstPassLog", DbType.AnsiString, entity.FirstPassLog);
            database.AddInParameter(commandWrapper, "@DayMatchLog", DbType.AnsiString, entity.DayMatchLog);
            database.AddInParameter(commandWrapper, "@Morale", DbType.Int32, entity.Morale);
            database.AddInParameter(commandWrapper, "@IsHaveDraw", DbType.Boolean, entity.IsHaveDraw);
            database.AddInParameter(commandWrapper, "@DrawId", DbType.Guid, entity.DrawId);
            database.AddInParameter(commandWrapper, "@IsHook", DbType.Boolean, entity.IsHook);
            database.AddInParameter(commandWrapper, "@HookId", DbType.Guid, entity.HookId);
            database.AddInParameter(commandWrapper, "@RefreshData", DbType.Date, entity.RefreshData);
            database.AddInParameter(commandWrapper, "@Status", DbType.Int32, entity.Status);
            database.AddInParameter(commandWrapper, "@UpdateTime", DbType.DateTime, entity.UpdateTime);
            database.AddInParameter(commandWrapper, "@RowTime", DbType.DateTime, entity.RowTime);


            int results = 0;

            if (trans != null)
            {
                results = database.ExecuteNonQuery(commandWrapper, trans);
            }
            else
            {
                results = database.ExecuteNonQuery(commandWrapper);
            }

            entity.ManagerId = (System.Guid)database.GetParameterValue(commandWrapper, "@ManagerId");

            return(Convert.ToBoolean(results));
        }
        public static bool Update(RevelationInfoEntity revelationInfoEntity, DbTransaction trans = null, string zoneId = "")
        {
            var provider = new RevelationInfoProvider(zoneId);

            return(provider.Update(revelationInfoEntity, trans));
        }