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)); }
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)); }
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); }
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)); }
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"]); }
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); }
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); }
/// <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); }