public static void SendPrize(CrossladderManagerdailyhistoryEntity manager, EnumCrossLadderPrizeType crossLadderPrizeType, EnumMailType mailType, int seasonStatus)
        {
            if (string.IsNullOrEmpty(manager.PrizeItems))
            {
                manager.PrizeItems = "";
                MailBuilder mail = null;

                int packId = CacheFactory.CrossLadderCache.GetRankPrize(crossLadderPrizeType, manager.Rank,seasonStatus);
                if (packId <= 0)
                {
                    SystemlogMgr.Info("CrossLadderSendPrize", "no packid for rank:" + manager.Rank);
                    return;
                }
                mail = new MailBuilder(mailType, manager.ManagerId, manager.Season, manager.Rank, manager.RecordDate);
                var code = MallCore.Instance.BuildPackMail(packId, ref mail);
                if (code != MessageCode.Success)
                {
                    SystemlogMgr.Info("CrossLadderSendPrize", "build pack fail rank:" + manager.Rank + ",packId:" + packId);
                    return;
                }
                manager.PrizeItems = "pack:" + packId;
                manager.UpdateTime = DateTime.Now;
                try
                {
                    CrossladderManagerdailyhistoryMgr.SaveDailyPrize(manager.Idx, manager.PrizeItems);
                    mail.Save(manager.SiteId);
                }
                catch (Exception ex)
                {
                    SystemlogMgr.Error("CrossLadderSendPrize", ex);
                }
            }
        }
        /// <summary>
        /// GetById
        /// </summary>
        /// <param name="idx">idx</param>
        /// <returns>CrossladderManagerdailyhistoryEntity</returns>
        /// <remarks>2016-08-15 11:22:43</remarks>
        public CrossladderManagerdailyhistoryEntity GetById(System.Int32 idx)
        {
            var database = new SqlDatabase(this.ConnectionString);

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

            database.AddInParameter(commandWrapper, "@Idx", DbType.Int32, idx);


            CrossladderManagerdailyhistoryEntity obj = null;

            using (IDataReader reader = database.ExecuteReader(commandWrapper))
            {
                if (reader.Read())
                {
                    obj = LoadSingleRow(reader);
                }
            }
            return(obj);
        }
        /// <summary>
        /// 将IDataReader的当前记录读取到CrossladderManagerdailyhistoryEntity 对象
        /// </summary>
        /// <param name="reader"></param>
        /// <returns></returns>
        public CrossladderManagerdailyhistoryEntity LoadSingleRow(IDataReader reader)
        {
            var obj = new CrossladderManagerdailyhistoryEntity();

            obj.Idx              = (System.Int32)reader["Idx"];
            obj.DomainId         = (System.Int32)reader["DomainId"];
            obj.RecordDate       = (System.DateTime)reader["RecordDate"];
            obj.Season           = (System.Int32)reader["Season"];
            obj.ManagerId        = (System.Guid)reader["ManagerId"];
            obj.SiteId           = (System.String)reader["SiteId"];
            obj.Rank             = (System.Int32)reader["Rank"];
            obj.Score            = (System.Int32)reader["Score"];
            obj.PrizeItems       = (System.String)reader["PrizeItems"];
            obj.Status           = (System.Int32)reader["Status"];
            obj.RowTime          = (System.DateTime)reader["RowTime"];
            obj.UpdateTime       = (System.DateTime)reader["UpdateTime"];
            obj.DailyMaxScore    = (System.Int32)reader["DailyMaxScore"];
            obj.DailyMaxAddScore = (System.Int32)reader["DailyMaxAddScore"];
            obj.MaxScore         = (System.Int32)reader["MaxScore"];

            return(obj);
        }
        /// <summary>
        /// 带事务的Update
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="trans">The trans.</param>
        /// <returns></returns>
        /// <remarks>2016-08-15 11:22:43</remarks>
        public bool Update(CrossladderManagerdailyhistoryEntity entity, DbTransaction trans)
        {
            var       database       = new SqlDatabase(this.ConnectionString);
            DbCommand commandWrapper = database.GetStoredProcCommand("dbo.P_CrossladderManagerdailyhistory_Update");

            database.AddInParameter(commandWrapper, "@Idx", DbType.Int32, entity.Idx);
            database.AddInParameter(commandWrapper, "@DomainId", DbType.Int32, entity.DomainId);
            database.AddInParameter(commandWrapper, "@RecordDate", DbType.DateTime, entity.RecordDate);
            database.AddInParameter(commandWrapper, "@Season", DbType.Int32, entity.Season);
            database.AddInParameter(commandWrapper, "@ManagerId", DbType.Guid, entity.ManagerId);
            database.AddInParameter(commandWrapper, "@SiteId", DbType.AnsiString, entity.SiteId);
            database.AddInParameter(commandWrapper, "@Rank", DbType.Int32, entity.Rank);
            database.AddInParameter(commandWrapper, "@Score", DbType.Int32, entity.Score);
            database.AddInParameter(commandWrapper, "@PrizeItems", DbType.AnsiString, entity.PrizeItems);
            database.AddInParameter(commandWrapper, "@Status", DbType.Int32, entity.Status);
            database.AddInParameter(commandWrapper, "@RowTime", DbType.DateTime, entity.RowTime);
            database.AddInParameter(commandWrapper, "@UpdateTime", DbType.DateTime, entity.UpdateTime);
            database.AddInParameter(commandWrapper, "@DailyMaxScore", DbType.Int32, entity.DailyMaxScore);
            database.AddInParameter(commandWrapper, "@DailyMaxAddScore", DbType.Int32, entity.DailyMaxAddScore);
            database.AddInParameter(commandWrapper, "@MaxScore", DbType.Int32, entity.MaxScore);


            int results = 0;

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

            entity.Idx = (System.Int32)database.GetParameterValue(commandWrapper, "@Idx");

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

            return(provider.Update(crossladderManagerdailyhistoryEntity, trans));
        }
 /// <summary>
 /// Update
 /// </summary>
 /// <param name="entity"></param>
 /// <returns></returns>
 /// <remarks>2016-08-15 11:22:43</remarks>
 public bool Update(CrossladderManagerdailyhistoryEntity entity)
 {
     return(Update(entity, null));
 }
 /// <summary>
 /// Insert
 /// </summary>
 /// <param name="entity"></param>
 /// <param name="trans">The trans.</param>
 /// <returns></returns>
 /// <remarks>2016-08-15 11:22:43</remarks>
 public bool Insert(CrossladderManagerdailyhistoryEntity entity)
 {
     return(Insert(entity, null));
 }