protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) { return; } try { var queryString = HttpContext.Current.Request.QueryString; if (queryString.Count > 0 && !string.IsNullOrEmpty(queryString["redirect"])) { RedirectUri = GetRedirectUriFromQueryString(queryString); } else { RedirectUri = string.Format("/Index.aspx?lang={0}", Language); if (HasSession) { Response.Redirect(RedirectUri, false); } } } catch (Exception ex) { } lblUsername.Text = RewardsHelper.GetTranslation(TranslationKeys.Label.Username); lblPassword.Text = RewardsHelper.GetTranslation(TranslationKeys.Label.Password); lblCaptcha.Text = RewardsHelper.GetTranslation(TranslationKeys.Label.Captcha); btnSubmit.Text = RewardsHelper.GetTranslation(TranslationKeys.Label.Login); txtUsername.Focus(); lblRegister.Text = HttpUtility.HtmlDecode(RewardsHelper.GetTranslation(TranslationKeys.Label.Register)); }
private void InitFields() { #region fields const string colon = ":"; lbcat.Text = RewardsHelper.GetTranslation(TranslationKeys.Redemption.Category) + colon; lbproduct.Text = RewardsHelper.GetTranslation(TranslationKeys.Redemption.Product) + colon; lbcurr.Text = RewardsHelper.GetTranslation(TranslationKeys.Redemption.Currency) + colon; lbpoint.Text = RewardsHelper.GetTranslation(TranslationKeys.Label.Points) + colon; lbperiod.Text = RewardsHelper.GetTranslation(TranslationKeys.Redemption.Delivery); lbqty.Text = RewardsHelper.GetTranslation(TranslationKeys.Redemption.Quantity) + colon; lbaccount.Text = RewardsHelper.GetTranslation(TranslationKeys.Redemption.Account) + colon; tbRName.Attributes.Add("PLACEHOLDER", RewardsHelper.GetTranslation(TranslationKeys.Redemption.EnterName)); tbAddress.Attributes.Add("PLACEHOLDER", RewardsHelper.GetTranslation(TranslationKeys.Redemption.EnterAddress)); tbPostal.Attributes.Add("PLACEHOLDER", RewardsHelper.GetTranslation(TranslationKeys.Redemption.EnterPostal)); tbCity.Attributes.Add("PLACEHOLDER", RewardsHelper.GetTranslation(TranslationKeys.Redemption.EnterCity)); tbCountry.Attributes.Add("PLACEHOLDER", RewardsHelper.GetTranslation(TranslationKeys.Redemption.EnterCountry)); tbContact.Attributes.Add("PLACEHOLDER", RewardsHelper.GetTranslation(TranslationKeys.Redemption.EnterContactNumber)); txtBoxRemarks.Attributes.Add("PLACEHOLDER", RewardsHelper.GetTranslation(TranslationKeys.Redemption.EnterRemarks)); nameLabel.Text = RewardsHelper.GetTranslation(TranslationKeys.Label.Name); addressLabel.Text = RewardsHelper.GetTranslation(TranslationKeys.Label.Address); postalLabel.Text = RewardsHelper.GetTranslation(TranslationKeys.Label.Postal); cityLabel.Text = RewardsHelper.GetTranslation(TranslationKeys.Label.City); countryLabel.Text = RewardsHelper.GetTranslation(TranslationKeys.Label.Country); contactLabel.Text = RewardsHelper.GetTranslation(TranslationKeys.Label.ContactNumber); redeemButton.Text = RewardsHelper.GetTranslation(TranslationKeys.Redemption.RedeemNow); remarksLabel.Text = RewardsHelper.GetTranslation(TranslationKeys.Label.Remarks); if ((ProductTypeEnum)int.Parse(ProductType) == ProductTypeEnum.Wishlist) { remarksLabel.Visible = true; txtBoxRemarks.Visible = true; } redeemButton.Visible = true; #endregion }
protected override void SetLabels() { #region labels if (!HasSession) { return; } if (string.IsNullOrEmpty(MemberSession.FullName)) { usernameLabel.Visible = false; } else { usernameLabel.InnerText = UserSessionInfo.MemberCode; } var pointsLabelText = RewardsHelper.GetTranslation(TranslationKeys.Label.Points); var stringBuilder = new StringBuilder(); stringBuilder.Append(pointsLabelText) .Append(": ") .Append(MemberRewardsInfo != null ? Convert.ToString(MemberRewardsInfo.CurrentPoints) : "0"); pointsLabel.InnerText = stringBuilder.ToString(); var pointLevelLabelText = RewardsHelper.GetTranslation(TranslationKeys.Label.PointLevel); stringBuilder = new StringBuilder(); stringBuilder.Append(pointLevelLabelText) .Append(" ") .Append(MemberRewardsInfo != null ? Convert.ToString(MemberRewardsInfo.CurrentPointLevel) : "0"); pointLevelLabel.InnerText = stringBuilder.ToString(); divLvl.Visible = true; }
protected void Page_Load(object sender, EventArgs e) { #region Logout if (string.Compare(Convert.ToString(RouteData.DataTokens["logout"]), "true", true) == 0) { // Do logout logic here CookieHelpers.ClearCookies(); Response.Redirect(string.Format("/Default.aspx?lang={0}", Language), false); return; } if (string.Compare(Convert.ToString(RouteData.DataTokens["expire"]), "true", true) == 0) { AlertMessage = RewardsHelper.GetTranslation(TranslationKeys.Errors.SessionExpired); } if (string.Compare(Convert.ToString(RouteData.DataTokens["invalid"]), "true", true) == 0) { AlertMessage = RewardsHelper.GetTranslation(TranslationKeys.Errors.SessionExpired); } #endregion Language = HttpContext.Current.Request.QueryString["lang"]; if (string.IsNullOrEmpty(Language)) { Response.Redirect("/Lang.aspx", false); return; } if (IsVipDomain) { Response.Redirect("/_Secure/VIP/login.aspx", true); } }
private static void SendRewards(ArenaTeamMember member, bool win) { ItemInstance SpInstance = null; if (member.Session.Character.Inventory != null && member.Session.Character.UseSp) { SpInstance = (member.Session.Character.Inventory.LoadBySlotAndType((byte)EquipmentType.Sp, InventoryType.Wear)); } if (win) { member.Session.Character.GetXp(RewardsHelper.ArenaXpReward(member.Session.Character.Level), false); member.Session.Character.GetJobExp(RewardsHelper.ArenaXpReward(SpInstance != null ? SpInstance.SpLevel : member.Session.Character.JobLevel), false); member.Session.Character.GetReputation(500); member.Session.Character.GiftAdd(2800, 1); member.Session.Character.GetGold(member.Session.Character.Level * 1000); member.Session.Character.TalentWin++; } else { member.Session.Character.GetXp(RewardsHelper.ArenaXpReward(member.Session.Character.Level) / 2, false); member.Session.Character.GetJobExp(RewardsHelper.ArenaXpReward(SpInstance != null ? SpInstance.SpLevel : member.Session.Character.JobLevel) / 2, false); member.Session.Character.GetReputation(200); member.Session.Character.GiftAdd(2801, 3); member.Session.Character.GetGold(member.Session.Character.Level * 500); member.Session.Character.TalentLose++; } }
protected override void SetLabels() { #region labels if (!HasSession) { return; } if (string.IsNullOrEmpty(MemberSession.FullName)) { usernameLabel.Visible = false; } else { usernameLabel.InnerText = UserSessionInfo.MemberCode; } pointsLabel.InnerText = string.Format("{0}: {1}", RewardsHelper.GetTranslation(TranslationKeys.Label.Points), MemberRewardsInfo != null ? Convert.ToString(MemberRewardsInfo.CurrentPoints) : "0"); pointLevelLabel.InnerText = string.Format("{0} {1}", RewardsHelper.GetTranslation(TranslationKeys.Label.PointLevel), MemberRewardsInfo != null ? Convert.ToString(MemberRewardsInfo.CurrentPointLevel) : "0"); divLevel.Visible = true; #endregion }
protected void Page_Load(object sender, EventArgs e) { if (!HasSession) { Response.Redirect(string.Format("/Default.aspx?lang={0}", Language), true); } PageTitle = RewardsHelper.GetTranslation(TranslationKeys.SpinWheel.WheelLabel, Language); }
protected async void Page_Load(object sender, EventArgs e) { SetLabels(); #region Catalogue Listview1.DataSource = await RewardsHelper.GetCatalogueSet(UserSessionInfo); Listview1.DataBind(); #endregion }
private async void RefreshPoints() { if (MemberRewardsInfo == null) { MemberRewardsInfo = new MemberRewardsInfo(); } MemberRewardsInfo.CurrentPoints = await MembersHelper.GetRewardsPoints(UserSessionInfo); MemberRewardsInfo.CurrentPointLevel = await RewardsHelper.GetPointLevel(MemberSession.MemberId); SetLabels(); SetProductInfo(); }
private async void SetAccountSummary(string memberCode) { Title = RewardsHelper.GetTranslation(TranslationKeys.Redemption.AccountSummary); DataSet = await RewardsHelper.GetAccountSummary(memberCode); if (DataSet == null) { lblNoRecord.Visible = true; } else { lblNoRecord.Visible = false; ListviewHistory.DataSource = DataSet.Tables[0]; ListviewHistory.DataBind(); } }
private async void GetProductDetails() { var productId = HttpContext.Current.Request.QueryString.Get("productId"); if (string.IsNullOrEmpty(productId)) { Response.Redirect("/Catalogue?categoryId=0&sortBy=2", false); return; } var process = await RewardsHelper.GetProductDetails(UserSessionInfo, productId); ProductDetails = process == null || process.Data == null ? new ProductDetails() : (ProductDetails)process.Data; SetProductInfo(); ProductDetails.ProductDescription = HttpUtility.HtmlEncode(ProductDetails.ProductDescription); ProductDetailsField.Value = Common.SerializeObject(ProductDetails); InitFields(); }
private async void SetCatalogueList() { try { var catalogueSet = await RewardsHelper.GetCatalogueSet(UserSessionInfo); CategoryListView.DataSource = catalogueSet.Tables[0]; var dataTable = (DataTable)CategoryListView.DataSource; var dataRowAll = dataTable.NewRow(); dataRowAll["categoryId"] = "0"; dataRowAll["categoryName"] = RewardsHelper.GetTranslation(TranslationKeys.Label.All); dataRowAll["imagePathOn"] = string.Empty; dataRowAll["imagePathOff"] = string.Empty; dataTable.Rows.InsertAt(dataRowAll, 0); CategoryListView.DataBind(); } catch (Exception) {} }
protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) { return; } lbdatefrom.InnerText = string.Format("{0}:", RewardsHelper.GetTranslation(TranslationKeys.Label.DateFrom)); lbdateto.InnerText = string.Format("{0}:", RewardsHelper.GetTranslation(TranslationKeys.Label.DateTo)); submit.Text = RewardsHelper.GetTranslation(TranslationKeys.Label.Search); if (!HasSession) { Response.Redirect("/Index.aspx", false); } var type = HttpContext.Current.Request.QueryString.Get("type"); if (!string.IsNullOrEmpty(type)) { switch (type) { case "stake": break; case "redeemed": Title = RewardsHelper.GetTranslation(TranslationKeys.Redemption.RedemptionListing); break; case "expired": Title = RewardsHelper.GetTranslation(TranslationKeys.Redemption.PointsExpired); break; case "adjusted": Title = RewardsHelper.GetTranslation(TranslationKeys.Redemption.PointsAdjusted); break; case "cart": Title = "Cart Listing"; break; } } }
protected async void RedeemButtonOnClick(object sender, EventArgs e) { #region redeem product try { Status = string.Empty; Message = string.Empty; int quantity; var isParsed = int.TryParse(tbQuantity.Text.Trim(), out quantity); if (!isParsed) { Status = Convert.ToString((int)Constants.StatusCode.Error); Message = RewardsHelper.GetTranslation(TranslationKeys.Redemption.InvalidQuantity); ShowMessage(Status, Message); return; } ProductDetails = Common.DeserializeObject <ProductDetails>(ProductDetailsField.Value); if (!HasSession) { Response.Redirect(string.Format(@"/_Secure/Login.aspx?redirect=/Catalogue/Redeem.aspx&productId={0}", ProductIdField.Value), false); return; } var productType = (ProductTypeEnum)int.Parse(ProductDetails.ProductType); var response = await RedemptionStrategy.Initialize(GetRequest(productType)).Redeem(); Status = Convert.ToString(response.Code); Message = response.Message; ShowMessage(Status, Message); RefreshPoints(); } catch (Exception exception) { Status = Convert.ToString((int)Constants.StatusCode.Error); Message = RewardsHelper.GetTranslation(TranslationKeys.Errors.Exception); ShowMessage(Status, Message); AuditTrail.AppendLog(exception); } #endregion }
protected override void SetLabels() { const string colon = ":"; lbcurr.Text = RewardsHelper.GetTranslation(TranslationKeys.Redemption.Currency) + colon; lbperiod.Text = RewardsHelper.GetTranslation(TranslationKeys.Redemption.Delivery); #region labels if (!HasSession) { return; } if (string.IsNullOrEmpty(MemberSession.FullName)) { usernameLabel.Visible = false; } else { usernameLabel.InnerText = UserSessionInfo.MemberCode; } pointsLabel.InnerText = string.Format("{0}: {1}", RewardsHelper.GetTranslation(TranslationKeys.Label.Points), MemberRewardsInfo != null ? Convert.ToString(MemberRewardsInfo.CurrentPoints) : "0"); pointLevelLabel.InnerText = string.Format("{0} {1}", RewardsHelper.GetTranslation(TranslationKeys.Label.PointLevel), MemberRewardsInfo != null ? Convert.ToString(MemberRewardsInfo.CurrentPointLevel) : "0"); divLevel.Visible = true; #endregion if (!string.IsNullOrEmpty(HttpContext.Current.Request.QueryString.Get("id"))) { lblDescription.Text = HttpContext.Current.Request.QueryString.Get("id"); } }
private static async Task <string> GetRedemptionList(string memberCode, DateTime dateFrom, DateTime dateTo) { try { using (var client = new RewardsServicesClient()) { var dateFromString = string.Format("{0:yyyy/M/d HH:mm:ss}", dateFrom); var dateToString = string.Format("{0:yyyy/M/d HH:mm:ss}", dateTo); var dataSet = await client.getRedemptionFEAsync(Convert.ToString(Settings.OperatorId), memberCode, dateFromString, dateToString); if (dataSet.Tables.Count == 0 || dataSet.Tables[0].Rows.Count == 0) { return(string.Empty); } dataSet.Tables[0].Columns.Add("rType"); var dataTable = dataSet.Tables[0]; var headers = string.Empty; var rows = string.Empty; for (var i = 0; i < dataTable.Rows.Count; i++) { if (dataTable.Rows[i]["rType"].ToString() != "0") { dataTable.Rows[i]["rType"] = "Spin Wheel Prize"; } else { dataTable.Rows[i]["rType"] = "Redemption"; } rows += "<tr>"; for (var j = 0; j < dataTable.Columns.Count; j++) { if (i == 0) { switch (dataTable.Columns[j].ColumnName) { case "createdDateTime": headers += string.Format(@"<td><div class='pointDetailMainHeader'><span>{0}</span></div></td>", RewardsHelper.GetTranslation(TranslationKeys.Label.Date)); break; case "redemptionId": headers += "<td><div class='pointDetailMainHeader'><span>ID</span></div></td>"; break; case "categoryCode": headers += string.Format(@"<td><div class='pointDetailMainHeader'><span>{0} ({1})</span></div></td>", RewardsHelper.GetTranslation(TranslationKeys.Redemption.Category), RewardsHelper.GetTranslation(TranslationKeys.Label.Points)); break; case "statusName": headers += string.Format(@"<td><div class='pointDetailMainHeader'><span>{0}</span></div></td>", RewardsHelper.GetTranslation(TranslationKeys.Label.Status)); break; } } switch (j) { case 0: rows += string.Format(@"<td><div class='points'><span>{0}</span></div></td>", string.Format("{0:d/M/yyyy}", Convert.ToDateTime(dataTable.Rows[i].ItemArray[0].ToString()))); break; case 3: rows += string.Format(@"<td><div class='points'><span>{0} ({1})</span></div></td>", dataTable.Rows[i].ItemArray[j], string.Format("{0:#,###,##0.##}", dataTable.Rows[i].ItemArray[4])); break; case 1: rows += string.Format(@"<td><div class='points'><span>{0}</span></div></td>", dataTable.Rows[i].ItemArray[j]); break; case 5: rows += string.Format(@"<td><div class='points'><span>{0}</span></div></td>", dataTable.Rows[i].ItemArray[j]); break; default: rows += string.Empty; break; } } rows += "</tr>"; } return(string.Format(@"<table id='transactions' width='100%'><tr>{0}</tr>{1}</table>", headers, rows)); } } catch (Exception) { return(string.Empty); } }
protected async void btnSubmit_Click(object sender, EventArgs e) { try { var formats = new[] { "MM/dd/yyyy" }; DateTime fromDate; var isParsed = DateTime.TryParseExact(dateFrom.Value, formats, CultureInfo.InvariantCulture, DateTimeStyles.None, out fromDate); if (!isParsed) { ShowMessage("wrongfromdate"); return; } DateTime toDate; isParsed = DateTime.TryParseExact(dateTo.Value, formats, CultureInfo.InvariantCulture, DateTimeStyles.None, out toDate); if (!isParsed) { ShowMessage("wrongtodate"); return; } if (fromDate > toDate) { ShowMessage("wrongdaterange"); return; } var memberCode = UserSessionInfo == null ? string.Empty : UserSessionInfo.MemberCode; toDate = toDate.AddHours(23).AddMinutes(59).AddSeconds(59); var type = HttpContext.Current.Request.QueryString.Get("type"); if (string.IsNullOrEmpty(type)) { return; } var html = string.Empty; switch (type) { case "redeemed": Title = RewardsHelper.GetTranslation(TranslationKeys.Redemption.RedemptionListing); html = await GetRedemptionList(memberCode, fromDate, toDate); break; case "expired": Title = RewardsHelper.GetTranslation(TranslationKeys.Redemption.PointsExpired); html = await GetExpiredList(memberCode, fromDate, toDate); break; case "adjusted": Title = RewardsHelper.GetTranslation(TranslationKeys.Redemption.PointsAdjusted); html = await GetAdjustmentList(memberCode, fromDate, toDate); break; } if (!string.IsNullOrEmpty(html)) { resultpanel.InnerHtml = html; } else { ShowMessage("nodata"); resultpanel.InnerHtml = string.Empty; } } catch (Exception exception) { ShowMessage("FAIL"); AuditTrail.AppendLog(exception); } }
private static async Task <string> GetExpiredList(string memberCode, DateTime dateFrom, DateTime dateTo) { try { using (var client = new RewardsServicesClient()) { var dateFromString = String.Format("{0:yyyy/M/d HH:mm:ss}", dateFrom); var dateToString = String.Format("{0:yyyy/M/d HH:mm:ss}", dateTo); var dataSet = await client.getExpiredFEAsync(Convert.ToString(Settings.OperatorId), memberCode, dateFromString, dateToString); if (dataSet.Tables.Count == 0 || dataSet.Tables[0].Rows.Count == 0) { return(string.Empty); } var dataTable = dataSet.Tables[0]; var headers = string.Empty; var rows = string.Empty; for (var i = 0; i < dataTable.Rows.Count; i++) { if (string.IsNullOrEmpty(dataTable.Rows[i]["remarks"].ToString())) { dataTable.Rows[i]["remarks"] = "-"; } rows += "<tr>"; for (var j = 0; j < dataTable.Columns.Count; j++) { if (i == 0) { switch (dataTable.Columns[j].ColumnName) { case "createdDateTime": headers += string.Format(@"<td><div class='pointDetailMainHeader'><span>{0}</span></div></td>", RewardsHelper.GetTranslation(TranslationKeys.Label.Date)); break; case "pointsExpired": headers += string.Format(@"<td><div class='pointDetailMainHeader'><span>{0}</span></div></td>", RewardsHelper.GetTranslation(TranslationKeys.Redemption.PointsExpired)); break; case "remarks": headers += string.Format(@"<td><div class='pointDetailMainHeader'><span>{0}</span></div></td>", RewardsHelper.GetTranslation(TranslationKeys.Label.Remarks)); break; } } switch (j) { case 8: rows += string.Format(@"<td><div class='points'><span>{0}</span></div></td>", string.Format("{0:dd/MM/yyyy}", Convert.ToDateTime(dataTable.Rows[i].ItemArray[j].ToString()))); break; case 5: rows += string.Format(@"<td><div class='points'><span>{0}</span></div></td>", dataTable.Rows[i].ItemArray[j]); break; case 6: rows += string.Format(@"<td><div class='points'><span>{0}</span></div></td>", dataTable.Rows[i].ItemArray[j]); break; default: rows += string.Empty; break; } } rows += "</tr>"; } return(string.Format(@"<table id='transactions' width='100%'><tr>{0}</tr>{1}</table>", headers, rows)); } } catch (Exception) { return(string.Empty); } }
private async void SetProductInfo() { try { var productId = HttpContext.Current.Request.QueryString.Get("id"); if (string.IsNullOrEmpty(productId)) { Response.Redirect("/Catalogue?categoryId=0&sortBy=2", false); return; } RedirectUri = !HasSession ? string.Format(@"/_Secure/Login.aspx?redirect=/Catalogue/Redeem.aspx&productId={0}", productId) : string.Format(@"/Catalogue/Redeem.aspx?productId={0}", productId); var process = await RewardsHelper.GetProductDetails(UserSessionInfo, productId); if (process == null || process.Data == null) { return; } var productDetails = (ProductDetails)process.Data; // Set label and image values if (!string.IsNullOrEmpty(productDetails.CurrencyCode)) { lblCurrency.Text = productDetails.CurrencyCode; CurrencyDiv.Visible = true; } imgPic.ImageUrl = productDetails.ImageUrl; var pointsLabelText = RewardsHelper.GetTranslation(TranslationKeys.Label.Points); if (!string.IsNullOrEmpty(productDetails.DiscountPoints) && int.Parse(productDetails.DiscountPoints) != 0) { lblPointCenter.Text = string.Format(@"{0:#,###,##0.##} {1}", productDetails.DiscountPoints, pointsLabelText); lblBeforeDiscount.Text = string.Format(@"{0:#,###,##0.##} {1}", productDetails.PointsRequired, pointsLabelText); } else { lblPointCenter.Text = string.Format(@"{0:#,###,##0.##} {1}", productDetails.PointsRequired, pointsLabelText); lblBeforeDiscount.Text = string.Empty; } if (!string.IsNullOrEmpty(productDetails.DeliveryPeriod)) { lblDelivery.Text = productDetails.DeliveryPeriod; DeliveryDiv.Visible = true; } lblDescription.Text = productDetails.ProductDescription; lblName.Text = productDetails.ProductName; IsVipOnly = productDetails.Status == (int)Constants.ProductStatus.VipOnly; IsValidRedemption = !IsVipOnly; VipOnlyMessage = RewardsHelper.GetTranslation(TranslationKeys.Redemption.VipOnly); var vipCategoryId = Common.GetAppSetting <string>("vipCategoryId"); if (!productDetails.CategoryId.Equals(vipCategoryId)) { return; } var redemptionLimitResult = await RewardsHelper.CheckRedemptionLimitForVipCategory(UserSessionInfo.MemberCode, vipCategoryId); switch (redemptionLimitResult) { case 0: VipOnlyMessage = RewardsHelper.GetTranslation(TranslationKeys.Redemption.BirthdayItemRedeemed); IsLimitReached = true; break; case 1: VipOnlyMessage = RewardsHelper.GetTranslation(TranslationKeys.Redemption.BirthdayItemPending); IsPending = true; break; } } catch (Exception exception) { AuditTrail.AppendLog(exception); } }
private static async Task <string> GetTotalStakeDetail(string memberCode, string walletId, string yearMonth) { using (var client = new RewardsServicesClient()) { var year = int.Parse(yearMonth.Substring(0, 4)); var month = (yearMonth.Length > 5) ? int.Parse(yearMonth.Substring(4, 2)) : int.Parse(yearMonth.Substring(4, 1)); var dataSet = await client.getEarnDetailFEAsync(Convert.ToString(Settings.OperatorId), memberCode, walletId, month, year); if (dataSet.Tables.Count == 0 || dataSet.Tables[0].Rows.Count == 0) { return(string.Empty); } var dataTable = dataSet.Tables[0]; var headers = string.Empty; var rows = string.Empty; for (var i = 0; i < dataTable.Rows.Count; i++) { rows += "<tr>"; for (var j = 0; j < dataTable.Columns.Count; j++) { if (i == 0) { switch (dataTable.Columns[j].ColumnName) { case "createdDateTime": headers += string.Format(@"<td><div class='pointDetailMainHeader'><span>{0}</span></div></td>", RewardsHelper.GetTranslation(TranslationKeys.Label.Date)); break; case "transactionDateTime": headers += string.Format(@"<td><div class='pointDetailMainHeader'><span>{0}</span></div></td>", RewardsHelper.GetTranslation(TranslationKeys.Redemption.BetDate)); break; case "totalStake": headers += string.Format(@"<td><div class='pointDetailMainHeader'><span>{0}</span></div></td>", RewardsHelper.GetTranslation(TranslationKeys.Redemption.TotalStake)); break; case "pointsAwarded": headers += string.Format(@"<td><div class='pointDetailMainHeader'><span>{0}</span></div></td>", RewardsHelper.GetTranslation(TranslationKeys.Redemption.PointsEarned)); break; } } switch (j) { case 2: rows += string.Format(@"<td><div class='points'><span>{0}</span></div></td>", string.Format("{0:#,###,##0.##}", dataTable.Rows[i].ItemArray[j])); break; case 3: rows += string.Format(@"<td><div class='points'><span>{0}</span></div></td>", string.Format("{0:#,###,##0.##}", dataTable.Rows[i].ItemArray[j])); break; default: rows += string.Format(@"<td><div class='points'><span>{0}</span></div></td>", Convert.ToString(DateTime.Parse(dataTable.Rows[i].ItemArray[j].ToString()).ToString("yyyy/MM/dd"))); break; } } rows += "</tr>"; } return(string.Format(@"<table id='transactions' width='100%'><tr>{0}</tr>{1}</table>", headers, rows)); } }
private static async Task <string> GetTotalStakeByMonth(string memberCode, string walletId) { using (var client = new RewardsServicesClient()) { var dataSet = await client.getEarnMonthFEAsync(Convert.ToString(Settings.OperatorId), memberCode, walletId); if (dataSet.Tables.Count == 0 || dataSet.Tables[0].Rows.Count == 0) { return(string.Empty); } var dataTable = dataSet.Tables[0]; var headers = string.Empty; var rows = string.Empty; for (var i = 0; i < dataTable.Rows.Count; i++) { rows += "<tr>"; for (var j = 0; j < dataTable.Columns.Count; j++) { if (i == 0) { switch (dataTable.Columns[j].ColumnName) { case "pointsYear": headers += string.Format(@"<td><div class='pointDetailMainHeader'><span>{0}</span></div></td>", RewardsHelper.GetTranslation(TranslationKeys.Label.Year)); break; case "pointsMonth": headers += string.Format(@"<td><div class='pointDetailMainHeader'><span>{0}</span></div></td>", RewardsHelper.GetTranslation(TranslationKeys.Label.Month)); break; case "totalStake": headers += string.Format(@"<td><div class='pointDetailMainHeader'><span>{0}</span></div></td>", RewardsHelper.GetTranslation(TranslationKeys.Redemption.TotalStake)); break; case "pointsAwarded": headers += string.Format(@"<td><div class='pointDetailMainHeader'><span>{0}</span></div></td>", RewardsHelper.GetTranslation(TranslationKeys.Redemption.PointsEarned)); break; } } switch (j) { case 2: rows += string.Format(@"<td><div class='points'><span>{0}</span></div></td>", string.Format("{0:#,###,##0.##}", dataTable.Rows[i].ItemArray[j])); break; case 3: rows += string.Format(@"<td><a href='/Account?type=stake&walletid={0}&yearmonth={1}'><div class='points'><span>{2}</span></div></a></td>", walletId, ((string)dataTable.Rows[i].ItemArray[0] + (string)dataTable.Rows[i].ItemArray[1]), string.Format("{0:#,###,##0.##}", dataTable.Rows[i].ItemArray[j])); break; default: rows += string.Format(@"<td><div class='points'><span>{0}</span></div></td>", dataTable.Rows[i].ItemArray[j]); break; } } rows += "</tr>"; } return(string.Format(@"<table id='transactions' width='100%'><tr>{0}</tr>{1}</table>", headers, rows)); } }
protected async void Page_Load(object sender, EventArgs e) { if (IsPostBack) { return; } if (!HasSession) { Response.Redirect("/Index.aspx", false); } var type = HttpContext.Current.Request.QueryString.Get("type"); var memberCode = UserSessionInfo == null ? string.Empty : UserSessionInfo.MemberCode; if (!string.IsNullOrEmpty(type)) { var walletId = string.IsNullOrEmpty(HttpContext.Current.Request.QueryString.Get("walletid")) ? "" : HttpContext.Current.Request.QueryString.Get("walletid"); var yearMonth = string.IsNullOrEmpty(HttpContext.Current.Request.QueryString.Get("yearmonth")) ? "" : HttpContext.Current.Request.QueryString.Get("yearmonth"); var html = string.Empty; switch (type) { case "stake": if (string.IsNullOrEmpty(walletId)) //all stakes { // "Earning Listing by Product"; Title = string.Format(@"{0} ({1})", RewardsHelper.GetTranslation(TranslationKeys.Redemption.EarningListing), RewardsHelper.GetTranslation(TranslationKeys.Redemption.Product)); html = await GetTotalStake(memberCode); } else if (!string.IsNullOrEmpty(walletId) && string.IsNullOrEmpty(yearMonth)) //stakes by walletid { // "Earning Listing by Month"; Title = string.Format(@"{0} ({1})", RewardsHelper.GetTranslation(TranslationKeys.Redemption.EarningListing), RewardsHelper.GetTranslation(TranslationKeys.Label.Month)); html = await GetTotalStakeByMonth(memberCode, walletId); } else //stakes detail { // "Earning Listing Detail"; Title = string.Format(@"{0} ({1})", RewardsHelper.GetTranslation(TranslationKeys.Redemption.EarningListing), RewardsHelper.GetTranslation(TranslationKeys.Label.Details)); html = await GetTotalStakeDetail(memberCode, walletId, yearMonth); } if (!string.IsNullOrEmpty(html)) { resultpanel.InnerHtml = html; } else { lblNoRecord.Visible = true; ListviewHistory.Visible = false; } break; case "redeemed": Title = RewardsHelper.GetTranslation(TranslationKeys.Redemption.RedemptionListing); resultpanel.InnerHtml = html; break; case "expired": Title = RewardsHelper.GetTranslation(TranslationKeys.Redemption.PointsExpired); resultpanel.InnerHtml = html; break; case "adjusted": Title = RewardsHelper.GetTranslation(TranslationKeys.Redemption.PointsAdjusted); resultpanel.InnerHtml = html; break; case "cart": Title = "Points in your cart"; resultpanel.InnerHtml = html; break; default: SetAccountSummary(memberCode); break; } } else { SetAccountSummary(memberCode); } }
private async void SetProductInfo() { var memberCode = UserSessionInfo == null ? "" : UserSessionInfo.MemberCode; var countryCode = MemberSession == null ? "0" : MemberSession.CountryCode; var currencyCode = MemberSession == null ? "0" : MemberSession.CurrencyCode; try { ProductType = ProductDetails.ProductType; if (ProductType == "1" && (ProductDetails.CurrencyCode != currencyCode)) { Response.Redirect("/Catalogue?categoryId=53&sortBy=2", false); return; } if (ProductDetails.CountryCode.Trim() != "All") { if (!ProductDetails.CountryCode.Contains(countryCode)) { Response.Redirect(string.Format("/Catalogue?categoryId={0}&sortBy=2", ProductDetails.CategoryId), false); return; } } ProductIdField.Value = ProductDetails.ProductId; /** * freebet show currency, hide recipient panel , hide delivery, hide account * normal product show recipient, show delivery if any, hide currency, hide account * online show account, hide delivery, hide recipient, hide currency **/ switch (ProductType) { case "1": //freebet CurrencyDiv.Visible = true; RecipientDiv.Visible = false; DeliveryDiv.Visible = false; AccountDiv.Visible = false; break; case "2": //normal RecipientDiv.Visible = true; CurrencyDiv.Visible = false; AccountDiv.Visible = false; break; case "3": //wishlist same as normal RecipientDiv.Visible = true; CurrencyDiv.Visible = false; AccountDiv.Visible = false; break; case "4": //online AccountDiv.Visible = true; CurrencyDiv.Visible = false; RecipientDiv.Visible = false; DeliveryDiv.Visible = false; break; } //vip cannot select quantity var vipCategoryId = Common.GetAppSetting <string>("vipCategoryId"); if (ProductDetails.CategoryId == vipCategoryId) { tbQuantity.Enabled = false; } imgPic.ImageUrl = ProductDetails.ImageUrl; var pointsLabelText = RewardsHelper.GetTranslation(TranslationKeys.Label.Points); if (!string.IsNullOrEmpty(ProductDetails.DiscountPoints) && int.Parse(ProductDetails.DiscountPoints) != 0) { lblPointCenter.Text = string.Format(@"{0:#,###,##0.##} {1}", ProductDetails.DiscountPoints, pointsLabelText); lblBeforeDiscount.Text = string.Format(@"{0:#,###,##0.##} {1}", ProductDetails.PointsRequired, pointsLabelText); } else { lblPointCenter.Text = string.Format(@"{0:#,###,##0.##} {1}", ProductDetails.PointsRequired, pointsLabelText); lblBeforeDiscount.Text = string.Empty; } lblName.Text = ProductDetails.ProductName; lblCategory.Text = ProductDetails.ProductCategoryName; if (!string.IsNullOrEmpty(ProductDetails.DeliveryPeriod)) { lblDelivery.Text = ProductDetails.DeliveryPeriod; DeliveryDiv.Visible = true; } if (!string.IsNullOrEmpty(ProductDetails.CurrencyCode)) { lblCurrency.Text = ProductDetails.CurrencyCode; } if (ProductType != "2" && ProductType != "3") //normal & wishlist { return; } #region memberInfo var redemptionDetails = await RewardsHelper.GetMemberRedemptionDetails(memberCode); if (redemptionDetails == null) { return; } tbRName.Text = redemptionDetails.FullName; tbAddress.Value = redemptionDetails.Address; tbPostal.Text = redemptionDetails.Postal; tbCity.Text = redemptionDetails.City; tbCountry.Text = redemptionDetails.CountryCode; tbContact.Text = redemptionDetails.Mobile; if (ProductDetails.Status != (int)Constants.ProductStatus.VipOnly) { return; } Status = Convert.ToString((int)Constants.StatusCode.MemberVip); Message = RewardsHelper.GetTranslation(TranslationKeys.Redemption.VipOnly); ShowMessage(Status, Message); redeemButton.Visible = false; #endregion } catch (Exception exception) { AuditTrail.AppendLog(exception); } }