public void ExportLotteryCSV(string filePath, List <LotteryWinnerInfo> winnerInfoList) { var head = new List <string>(); head.Add("序号"); head.Add("奖项"); head.Add("姓名"); head.Add("手机"); head.Add("邮箱"); head.Add("地址"); head.Add("状态"); head.Add("中奖时间"); head.Add("兑奖码"); head.Add("兑奖时间"); var rows = new List <List <string> >(); var index = 1; foreach (var winnerInfo in winnerInfoList) { LotteryAwardInfo awardInfo = null; if (awardInfoMap.ContainsKey(winnerInfo.AwardID)) { awardInfo = awardInfoMap[winnerInfo.AwardID]; } else { awardInfo = DataProviderWX.LotteryAwardDAO.GetAwardInfo(winnerInfo.AwardID); awardInfoMap.Add(winnerInfo.AwardID, awardInfo); } var award = string.Empty; if (awardInfo != null) { award = awardInfo.AwardName + ":" + awardInfo.Title; } var row = new List <string>(); row.Add((index++).ToString()); row.Add(award); row.Add(winnerInfo.RealName); row.Add(winnerInfo.Mobile); row.Add(winnerInfo.Email); row.Add(winnerInfo.Address); row.Add(EWinStatusUtils.GetText(EWinStatusUtils.GetEnumType(winnerInfo.Status))); row.Add(DateUtils.GetDateAndTimeString(winnerInfo.AddDate)); row.Add(winnerInfo.CashSN); row.Add(DateUtils.GetDateAndTimeString(winnerInfo.CashDate)); rows.Add(row); } CSVUtils.Export(filePath, head, rows); }
public void Page_Load(object sender, EventArgs e) { if (IsForbidden) { return; } if (!IsPostBack) { EWinStatusUtils.AddListItems(ddlStatus); } }
public void UpdateStatus(EWinStatus status, List <int> winnerIDList) { string sqlString = $"UPDATE {TABLE_NAME} SET {LotteryWinnerAttribute.Status} = '{EWinStatusUtils.GetValue(status)}' WHERE ID IN ({TranslateUtils.ToSqlInStringWithoutQuote(winnerIDList)})"; if (status == EWinStatus.Cashed) { sqlString = $"UPDATE {TABLE_NAME} SET {LotteryWinnerAttribute.Status} = '{EWinStatusUtils.GetValue(status)}', {LotteryWinnerAttribute.CashDate} = getdate() WHERE ID IN ({TranslateUtils.ToSqlInStringWithoutQuote(winnerIDList)})"; } ExecuteNonQuery(sqlString); }
void rptContents_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { var winnerInfo = new LotteryWinnerInfo(e.Item.DataItem); var ltlItemIndex = e.Item.FindControl("ltlItemIndex") as Literal; var ltlAward = e.Item.FindControl("ltlAward") as Literal; var ltlRealName = e.Item.FindControl("ltlRealName") as Literal; var ltlMobile = e.Item.FindControl("ltlMobile") as Literal; var ltlEmail = e.Item.FindControl("ltlEmail") as Literal; var ltlAddress = e.Item.FindControl("ltlAddress") as Literal; var ltlStatus = e.Item.FindControl("ltlStatus") as Literal; var ltlAddDate = e.Item.FindControl("ltlAddDate") as Literal; var ltlCashSN = e.Item.FindControl("ltlCashSN") as Literal; var ltlCashDate = e.Item.FindControl("ltlCashDate") as Literal; ltlItemIndex.Text = (e.Item.ItemIndex + 1).ToString(); LotteryAwardInfo awardInfo = null; if (awardInfoMap.ContainsKey(winnerInfo.AwardID)) { awardInfo = awardInfoMap[winnerInfo.AwardID]; } else { awardInfo = DataProviderWX.LotteryAwardDAO.GetAwardInfo(winnerInfo.AwardID); awardInfoMap.Add(winnerInfo.AwardID, awardInfo); } if (awardInfo != null) { ltlAward.Text = $@"<a href=""{GetRedirectUrl(PublishmentSystemID, ELotteryTypeUtils.GetEnumType(winnerInfo.LotteryType), winnerInfo.LotteryID, winnerInfo.AwardID, returnUrl)}"">{awardInfo.AwardName + ":" + awardInfo.Title}</a>"; } ltlRealName.Text = winnerInfo.RealName; ltlMobile.Text = winnerInfo.Mobile; ltlEmail.Text = winnerInfo.Email; ltlAddress.Text = winnerInfo.Address; ltlStatus.Text = EWinStatusUtils.GetText(EWinStatusUtils.GetEnumType(winnerInfo.Status)); ltlAddDate.Text = DateUtils.GetDateAndTimeString(winnerInfo.AddDate); ltlCashSN.Text = winnerInfo.CashSN; ltlCashDate.Text = DateUtils.GetDateAndTimeString(winnerInfo.CashDate); } }
public static void AddApplication(int winnerID, string realName, string mobile, string email, string address) { var winnerInfo = DataProviderWx.LotteryWinnerDao.GetWinnerInfo(winnerID); var oldCashSN = winnerInfo.CashSn; winnerInfo.RealName = realName; winnerInfo.Mobile = mobile; winnerInfo.Email = email; winnerInfo.Address = address; winnerInfo.Status = EWinStatusUtils.GetValue(EWinStatus.Applied); winnerInfo.CashSn = StringUtils.GetShortGuid(true); if (string.IsNullOrEmpty(oldCashSN)) { DataProviderWx.LotteryWinnerDao.Update(winnerInfo); } }
public override void Submit_OnClick(object sender, EventArgs e) { var isChanged = false; try { DataProviderWX.LotteryWinnerDAO.UpdateStatus(EWinStatusUtils.GetEnumType(ddlStatus.SelectedValue), TranslateUtils.StringCollectionToIntList(Request.QueryString["IDCollection"])); isChanged = true; } catch (Exception ex) { FailMessage(ex, "失败:" + ex.Message); } if (isChanged) { JsUtils.OpenWindow.CloseModalPage(Page); } }
public int GetCashNum(int publishmentSystemID, int lotteryID) { string sqlString = $"SELECT COUNT(*) FROM {TABLE_NAME} WHERE {LotteryWinnerAttribute.PublishmentSystemID} = {publishmentSystemID} AND {LotteryWinnerAttribute.LotteryID} = {lotteryID} AND {LotteryWinnerAttribute.Status} = '{EWinStatusUtils.GetValue(EWinStatus.Cashed)}'"; return(BaiRongDataProvider.DatabaseDao.GetIntResult(sqlString)); }
public static bool Lottery(LotteryInfo lotteryInfo, List <LotteryAwardInfo> awardInfoList, string cookieSN, string wxOpenID, out LotteryAwardInfo awardInfo, out LotteryWinnerInfo winnerInfo, string userName, out string errorMessage) { errorMessage = string.Empty; awardInfo = null; winnerInfo = DataProviderWx.LotteryWinnerDao.GetWinnerInfo(lotteryInfo.PublishmentSystemId, lotteryInfo.Id, cookieSN, wxOpenID, userName); if (winnerInfo != null) { awardInfo = GetAwardInfo(awardInfoList, winnerInfo.AwardId); } else { var isMaxCount = false; var isMaxDailyCount = false; DataProviderWx.LotteryLogDao.AddCount(lotteryInfo.PublishmentSystemId, lotteryInfo.Id, cookieSN, wxOpenID, userName, lotteryInfo.AwardMaxCount, lotteryInfo.AwardMaxDailyCount, out isMaxCount, out isMaxDailyCount); if (isMaxCount) { errorMessage = $"对不起,每人最多允许抽奖{lotteryInfo.AwardMaxCount}次"; return(false); } else if (isMaxDailyCount) { errorMessage = $"对不起,每人每天最多允许抽奖{lotteryInfo.AwardMaxDailyCount}次"; return(false); } else { if (awardInfoList != null && awardInfoList.Count > 0) { var idWithProbabilityDictionary = new Dictionary <int, decimal>(); foreach (var lotteryAwardInfo in awardInfoList) { idWithProbabilityDictionary.Add(lotteryAwardInfo.Id, lotteryAwardInfo.Probability); } var awardID = WeiXinManager.Lottery(idWithProbabilityDictionary); if (awardID > 0) { var lotteryAwardInfo = GetAwardInfo(awardInfoList, awardID); if (lotteryAwardInfo != null && lotteryAwardInfo.TotalNum > 0) { var wonNum = DataProviderWx.LotteryWinnerDao.GetTotalNum(awardID); if (lotteryAwardInfo.TotalNum > wonNum) { awardInfo = lotteryAwardInfo; winnerInfo = new LotteryWinnerInfo { PublishmentSystemId = lotteryInfo.PublishmentSystemId, LotteryType = lotteryInfo.LotteryType, LotteryId = lotteryInfo.Id, AwardId = awardID, Status = EWinStatusUtils.GetValue(EWinStatus.Won), CookieSn = cookieSN, WxOpenId = wxOpenID, UserName = userName, AddDate = DateTime.Now }; winnerInfo.Id = DataProviderWx.LotteryWinnerDao.Insert(winnerInfo); DataProviderWx.LotteryAwardDao.UpdateWonNum(awardID); DataProviderWx.LotteryDao.AddUserCount(winnerInfo.LotteryId); } } } } } } return(true); }