Esempio n. 1
0
        public int Add(Model.AwardsStatisticsModel model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into  [AwardsStatistics]");
            strSql.Append("(AwardsId,AwardsName,DateStamp,YesterdayTotal,TodayTotal,AllTotal,BackTotal,AwardsType,PrizeName,Angle,PresetValue,CreateTime,UpdateTime,StatusId,Remark)");
            strSql.Append(" values (@AwardsId,@AwardsName,@DateStamp,@YesterdayTotal,@TodayTotal,@AllTotal,@BackTotal,@AwardsType,@PrizeName,@Angle,@PresetValue,@CreateTime,@UpdateTime,@StatusId,@Remark)");
            strSql.Append(";select SCOPE_IDENTITY()");
            SqlParameter[] parameters =
            {
                new SqlParameter("@AwardsId", DbTool.FixSqlParameter(model.AwardsId))
                ,                             new SqlParameter("@AwardsName", DbTool.FixSqlParameter(model.AwardsName))
                ,                             new SqlParameter("@DateStamp", DbTool.FixSqlParameter(model.DateStamp))
                ,                             new SqlParameter("@YesterdayTotal", DbTool.FixSqlParameter(model.YesterdayTotal))
                ,                             new SqlParameter("@TodayTotal", DbTool.FixSqlParameter(model.TodayTotal))
                ,                             new SqlParameter("@AllTotal", DbTool.FixSqlParameter(model.AllTotal))
                ,                             new SqlParameter("@BackTotal", DbTool.FixSqlParameter(model.BackTotal))
                ,                             new SqlParameter("@AwardsType", DbTool.FixSqlParameter(model.AwardsType))
                ,                             new SqlParameter("@PrizeName", DbTool.FixSqlParameter(model.PrizeName))
                ,                             new SqlParameter("@Angle", DbTool.FixSqlParameter(model.Angle))
                ,                             new SqlParameter("@PresetValue", DbTool.FixSqlParameter(model.PresetValue))
                ,                             new SqlParameter("@CreateTime", DbTool.FixSqlParameter(model.CreateTime))
                ,                             new SqlParameter("@UpdateTime", DbTool.FixSqlParameter(model.UpdateTime))
                ,                             new SqlParameter("@StatusId", DbTool.FixSqlParameter(model.StatusId))
                ,                             new SqlParameter("@Remark", DbTool.FixSqlParameter(model.Remark))
            };


            return(DbTool.ConvertObject <int>(SqlHelper.ExecuteScalar(conn, CommandType.Text, strSql.ToString(), parameters), 0));
        }
Esempio n. 2
0
        public int Update(Model.AwardsStatisticsModel model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("update AwardsStatistics set ");
            strSql.Append("AwardsId=@AwardsId,AwardsName=@AwardsName,DateStamp=@DateStamp,YesterdayTotal=@YesterdayTotal,TodayTotal=@TodayTotal,AllTotal=@AllTotal,BackTotal=@BackTotal,AwardsType=@AwardsType,PrizeName=@PrizeName,Angle=@Angle,PresetValue=@PresetValue,CreateTime=@CreateTime,UpdateTime=@UpdateTime,StatusId=@StatusId,Remark=@Remark ");
            strSql.Append(" where Id=@Id ");

            SqlParameter[] parameters =
            {
                new SqlParameter("@AwardsId", DbTool.FixSqlParameter(model.AwardsId))
                ,                             new SqlParameter("@AwardsName", DbTool.FixSqlParameter(model.AwardsName))
                ,                             new SqlParameter("@DateStamp", DbTool.FixSqlParameter(model.DateStamp))
                ,                             new SqlParameter("@YesterdayTotal", DbTool.FixSqlParameter(model.YesterdayTotal))
                ,                             new SqlParameter("@TodayTotal", DbTool.FixSqlParameter(model.TodayTotal))
                ,                             new SqlParameter("@AllTotal", DbTool.FixSqlParameter(model.AllTotal))
                ,                             new SqlParameter("@BackTotal", DbTool.FixSqlParameter(model.BackTotal))
                ,                             new SqlParameter("@AwardsType", DbTool.FixSqlParameter(model.AwardsType))
                ,                             new SqlParameter("@PrizeName", DbTool.FixSqlParameter(model.PrizeName))
                ,                             new SqlParameter("@Angle", DbTool.FixSqlParameter(model.Angle))
                ,                             new SqlParameter("@PresetValue", DbTool.FixSqlParameter(model.PresetValue))
                ,                             new SqlParameter("@CreateTime", DbTool.FixSqlParameter(model.CreateTime))
                ,                             new SqlParameter("@UpdateTime", DbTool.FixSqlParameter(model.UpdateTime))
                ,                             new SqlParameter("@StatusId", DbTool.FixSqlParameter(model.StatusId))
                ,                             new SqlParameter("@Remark", DbTool.FixSqlParameter(model.Remark))
                ,                             new SqlParameter("@Id", model.Id)
            };


            return(SqlHelper.ExecuteNonQuery(conn, CommandType.Text, strSql.ToString(), parameters));
        }
Esempio n. 3
0
        public Model.AwardsStatisticsModel GetModelByAwardId(int AwardId)
        {
            string sql = "select top 1 * from AwardsStatistics where AwardId =" + AwardId;

            Model.AwardsStatisticsModel model = new Model.AwardsStatisticsModel();
            SqlDataReader dr = SqlHelper.ExecuteReader(conn, CommandType.Text, sql.ToString());

            if (dr.Read())
            {
                //var fields = DbTool.GetReaderFieldNames(dr);
                //model = AutoBindDataReader(dr, fields);
                BindDataReader(model, dr);
            }
            dr.Close();
            return(model);
        }
Esempio n. 4
0
        public int UpdatePrizeNameById(Model.AwardsStatisticsModel model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("update AwardsStatistics set ");
            strSql.Append("PrizeName=@PrizeName,PresetValue=@PresetValue");
            strSql.Append(" where Id=@Id ");

            SqlParameter[] parameters =
            {
                new SqlParameter("@PrizeName", DbTool.FixSqlParameter(model.PrizeName))
                ,                              new SqlParameter("@PresetValue", DbTool.FixSqlParameter(model.PresetValue))
                ,                              new SqlParameter("@Id", model.Id)
            };


            return(SqlHelper.ExecuteNonQuery(conn, CommandType.Text, strSql.ToString(), parameters));
        }
Esempio n. 5
0
 protected void BindDataReader(Model.AwardsStatisticsModel model, SqlDataReader dr)
 {
     model.Id             = DbTool.ConvertObject <System.Int32>(dr["Id"]);
     model.AwardsId       = DbTool.ConvertObject <System.Int32>(dr["AwardsId"]);
     model.AwardsName     = DbTool.ConvertObject <System.String>(dr["AwardsName"]);
     model.DateStamp      = DbTool.ConvertObject <System.String>(dr["DateStamp"]);
     model.YesterdayTotal = DbTool.ConvertObject <System.Int32>(dr["YesterdayTotal"]);
     model.TodayTotal     = DbTool.ConvertObject <System.Int32>(dr["TodayTotal"]);
     model.AllTotal       = DbTool.ConvertObject <System.Int32>(dr["AllTotal"]);
     model.BackTotal      = DbTool.ConvertObject <System.Int32>(dr["BackTotal"]);
     model.AwardsType     = DbTool.ConvertObject <System.Int32>(dr["AwardsType"]);
     model.PrizeName      = DbTool.ConvertObject <System.String>(dr["PrizeName"]);
     model.Angle          = DbTool.ConvertObject <System.String>(dr["Angle"]);
     model.PresetValue    = DbTool.ConvertObject <System.String>(dr["PresetValue"]);
     model.CreateTime     = DbTool.ConvertObject <System.DateTime>(dr["CreateTime"]);
     model.UpdateTime     = DbTool.ConvertObject <System.DateTime>(dr["UpdateTime"]);
     model.StatusId       = DbTool.ConvertObject <System.Int32>(dr["StatusId"]);
     model.Remark         = DbTool.ConvertObject <System.String>(dr["Remark"]);
 }
Esempio n. 6
0
        public List <Model.AwardsStatisticsModel> GetModelTopList(int TopNum, string sqlwhere)
        {
            List <Model.AwardsStatisticsModel> result = new List <Model.AwardsStatisticsModel>();
            string sql = "select top " + TopNum + " * from AwardsStatistics where 1=1 " + sqlwhere + " order by id ";

            Model.AwardsStatisticsModel model = new Model.AwardsStatisticsModel();
            SqlDataReader dr = SqlHelper.ExecuteReader(conn, CommandType.Text, sql.ToString());

            //var fields = DbTool.GetReaderFieldNames(dr);
            while (dr.Read())
            {
                //model = AutoBindDataReader(dr, fields);
                model = new Model.AwardsStatisticsModel();
                BindDataReader(model, dr);
                result.Add(model);
            }
            dr.Close();
            return(result);
        }
Esempio n. 7
0
        protected Model.AwardsStatisticsModel AutoBindDataReader(SqlDataReader dr, params string[] fields)
        {
            var model = new Model.AwardsStatisticsModel();

            if (DbTool.HasFields("Id", fields))
            {
                model.Id = DbTool.ConvertObject <System.Int32>(dr["Id"]);
            }
            if (DbTool.HasFields("AwardsId", fields))
            {
                model.AwardsId = DbTool.ConvertObject <System.Int32>(dr["AwardsId"]);
            }
            if (DbTool.HasFields("AwardsName", fields))
            {
                model.AwardsName = DbTool.ConvertObject <System.String>(dr["AwardsName"]);
            }
            if (DbTool.HasFields("DateStamp", fields))
            {
                model.DateStamp = DbTool.ConvertObject <System.String>(dr["DateStamp"]);
            }
            if (DbTool.HasFields("YesterdayTotal", fields))
            {
                model.YesterdayTotal = DbTool.ConvertObject <System.Int32>(dr["YesterdayTotal"]);
            }
            if (DbTool.HasFields("TodayTotal", fields))
            {
                model.TodayTotal = DbTool.ConvertObject <System.Int32>(dr["TodayTotal"]);
            }
            if (DbTool.HasFields("AllTotal", fields))
            {
                model.AllTotal = DbTool.ConvertObject <System.Int32>(dr["AllTotal"]);
            }
            if (DbTool.HasFields("BackTotal", fields))
            {
                model.BackTotal = DbTool.ConvertObject <System.Int32>(dr["BackTotal"]);
            }
            if (DbTool.HasFields("AwardsType", fields))
            {
                model.AwardsType = DbTool.ConvertObject <System.Int32>(dr["AwardsType"]);
            }
            if (DbTool.HasFields("PrizeName", fields))
            {
                model.PrizeName = DbTool.ConvertObject <System.String>(dr["PrizeName"]);
            }
            if (DbTool.HasFields("Angle", fields))
            {
                model.Angle = DbTool.ConvertObject <System.String>(dr["Angle"]);
            }
            if (DbTool.HasFields("PresetValue", fields))
            {
                model.PresetValue = DbTool.ConvertObject <System.String>(dr["PresetValue"]);
            }
            if (DbTool.HasFields("CreateTime", fields))
            {
                model.CreateTime = DbTool.ConvertObject <System.DateTime>(dr["CreateTime"]);
            }
            if (DbTool.HasFields("UpdateTime", fields))
            {
                model.UpdateTime = DbTool.ConvertObject <System.DateTime>(dr["UpdateTime"]);
            }
            if (DbTool.HasFields("StatusId", fields))
            {
                model.StatusId = DbTool.ConvertObject <System.Int32>(dr["StatusId"]);
            }
            if (DbTool.HasFields("Remark", fields))
            {
                model.Remark = DbTool.ConvertObject <System.String>(dr["Remark"]);
            }

            return(model);
        }
Esempio n. 8
0
        /// <summary>
        /// 获取奖项(最多7个)
        /// </summary>
        /// <param name="PrizeCont">奖项总个数(最多7个)</param>
        /// <param name="AwardsType">抽奖类型 1:常规奖 2:红包奖</param>
        /// <returns>奖项</returns>
        public static Model.AwardsStatisticsModel GetPrize(int PrizeCont, int AwardsType)
        {
            if (PrizeCont > 7)
            {
                return(null);
            }

            Db.AwardsStatisticsDal AwardsDal = new Db.AwardsStatisticsDal();
            Db.ZpConfigDal         dal       = new Db.ZpConfigDal();
            Model.ZpConfigModel    m         = dal.GetModel(AwardsType);

            #region 获取所有奖项设置值

            #region 奖项每天总数
            int[] PrizeDayCont = new int[] { m.Zjl7, m.Zjl9, m.Zjl11, m.Zjl13, m.Zjl15, m.Zjl17 };
            #endregion

            #region 奖项总数
            int[] PrizeAllCont = new int[] { m.Zjl8, m.Zjl10, m.Zjl12, m.Zjl14, m.Zjl16, m.Zjl18 };
            #endregion

            #region 奖项预设中奖率

            int[] PresetProbability = new int[] { m.Zjl1, m.Zjl2, m.Zjl3, m.Zjl4, m.Zjl5, m.Zjl6 };
            #endregion

            #region 奖项实际中奖率
            int[] ActualProbability = new int[] { 0, 0, 0, 0, 0, 0 };
            #endregion

            #endregion

            #region 获取奖项统计参与详细
            List <Model.AwardsStatisticsModel> AwardsList = AwardsDal.GetModelList(string.Format(" and AwardsType={0} order by id", AwardsType));
            #endregion

            #region 获取奖项实际参与量与预设奖项总量比较后的中奖率
            for (int i = 0; i < PrizeCont - 1; i++)
            {
                ActualProbability[i] = PresetProbability[i];

                Model.AwardsStatisticsModel model = AwardsList.Where(w => w.AwardsId == i + 1).FirstOrDefault();//获取奖项参与详情
                if (model == null)
                {
                    throw new ArgumentNullException("获取奖项失败");
                }

                #region 如果当前奖项日期不等于当天,则每日总数为0
                if (model.DateStamp != DateTime.Now.ToShortDateString())
                {
                    model.TodayTotal = 0;
                }
                #endregion

                if (model.TodayTotal >= PrizeDayCont[i] || model.AllTotal - model.BackTotal >= PrizeAllCont[i])
                {
                    ActualProbability[i] = 0;
                }
            }
            #endregion

            #region 抽奖
            int          seven = 100 - ActualProbability[0] - ActualProbability[1] - ActualProbability[2] - ActualProbability[3] - ActualProbability[4] - ActualProbability[5];
            Common.Prize prize = new Common.Prize(ActualProbability[0], ActualProbability[1], ActualProbability[2], ActualProbability[3], ActualProbability[4], ActualProbability[5], seven);
            #endregion

            #region 赋值中奖详情-奖项-角度-奖品名称-奖项Id
            string[] PrizeModel = prize.GetPrize();

            Model.AwardsStatisticsModel AwardsPrizeModel = AwardsList.Where(s => s.AwardsName == PrizeModel[0]).FirstOrDefault();
            if (AwardsPrizeModel == null)
            {
                throw new ArgumentNullException("获取奖项失败");
            }

            AwardsPrizeModel.Angle = PrizeModel[1];//角度
            #endregion

            return(AwardsPrizeModel);
        }