|
|
@@ -27,13 +27,25 @@
|
|
|
: "bottom-nav-shell scale-floor";
|
|
|
var currentCulture = System.Globalization.CultureInfo.CurrentUICulture.Name.ToLower().StartsWith("vi") ? "vi" : "en";
|
|
|
var accountMsisdn = Context.Session.GetComplexData<string>("msisdn") ?? "";
|
|
|
- var accountAvatar = Url.Content("~/kitty/assets/kitty-fall/account-cat-avatar.png");
|
|
|
+ var accountProfilePicture = Context.Session.GetComplexData<string>("profilePicture") ?? "";
|
|
|
+ var accountAvatar = string.IsNullOrWhiteSpace(accountProfilePicture)
|
|
|
+ ? Url.Content("~/kitty/assets/kitty-fall/avatar.png")
|
|
|
+ : Url.Content("~/kitty/assets/kitty-fall/") + accountProfilePicture;
|
|
|
var accountScore = Context.Session.GetComplexData<long?>("totalPoint") ?? 0;
|
|
|
var accountDataMb = Context.Session.GetComplexData<decimal?>("totalDataMb") ?? 0;
|
|
|
var accountLoyalty = Context.Session.GetComplexData<decimal?>("totalLoyaltyPoints") ?? 0;
|
|
|
var regInfos = Context.Session.GetComplexData<JArray>("regInfos");
|
|
|
var activeReg = regInfos?.FirstOrDefault(x =>
|
|
|
- bool.TryParse((x["status"] ?? x["Status"])?.ToString(), out var active) && active);
|
|
|
+ {
|
|
|
+ var statusText = (x["status"] ?? x["Status"])?.ToString() ?? "";
|
|
|
+ var isActive = bool.TryParse(statusText, out var activeFlag)
|
|
|
+ ? activeFlag
|
|
|
+ : decimal.TryParse(statusText, out var activeNumber) && activeNumber != 0;
|
|
|
+ var product = (x["productName"] ?? x["ProductName"])?.ToString() ?? "";
|
|
|
+ var isDailySubscription = product.Contains("_DAILY", StringComparison.OrdinalIgnoreCase)
|
|
|
+ || product.Contains("_DAYLY", StringComparison.OrdinalIgnoreCase);
|
|
|
+ return isActive && isDailySubscription;
|
|
|
+ });
|
|
|
var packageNameRaw = (activeReg?["productName"] ?? activeReg?["ProductName"])?.ToString() ?? "";
|
|
|
var packageName = string.IsNullOrWhiteSpace(packageNameRaw)
|
|
|
? Lang.AccountNoActivePackage
|
|
|
@@ -41,13 +53,6 @@
|
|
|
|| packageNameRaw.Contains("DAILY", StringComparison.OrdinalIgnoreCase)
|
|
|
? Lang.AccountDailyPackage
|
|
|
: packageNameRaw.Replace("_", " ");
|
|
|
- var packageTurns = (activeReg?["numberSpin"] ?? activeReg?["NumberSpin"])?.ToString() ?? "0";
|
|
|
- var packageRegisterText = (activeReg?["registerTime"] ?? activeReg?["RegisterTime"])?.ToString();
|
|
|
- var packageExpireText = (activeReg?["expireTime"] ?? activeReg?["ExpireTime"])?.ToString();
|
|
|
- var packageRenewText = (activeReg?["renew"] ?? activeReg?["Renew"])?.ToString();
|
|
|
- var hasPackageRegisterTime = DateTime.TryParse(packageRegisterText, out var packageRegisterTime);
|
|
|
- var hasPackageExpireTime = DateTime.TryParse(packageExpireText, out var packageExpireTime);
|
|
|
- var isPackageRenewing = byte.TryParse(packageRenewText, out var packageRenewValue) && packageRenewValue == 1;
|
|
|
var cancelKeyword = Configuration["AccountMenu:CancelKeyword"] ?? "OFF";
|
|
|
var cancelShortCode = Configuration["AccountMenu:CancelShortCode"] ?? "562";
|
|
|
var monthStart = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
|
|
|
@@ -100,28 +105,6 @@
|
|
|
@if (activeReg != null) { <b>@Lang.AccountActiveSubscription</b> }
|
|
|
</small>
|
|
|
<strong>@packageName</strong>
|
|
|
- @if (activeReg != null)
|
|
|
- {
|
|
|
- <p>
|
|
|
- @string.Format(Lang.AccountPlaysPerDay, packageTurns)
|
|
|
- @if (hasPackageExpireTime)
|
|
|
- {
|
|
|
- <span>• @string.Format(Lang.AccountExpires, packageExpireTime.ToString("dd/MM/yyyy"))</span>
|
|
|
- }
|
|
|
- else if (isPackageRenewing)
|
|
|
- {
|
|
|
- <span>• @Lang.AccountAutoRenew</span>
|
|
|
- }
|
|
|
- </p>
|
|
|
- @if (hasPackageRegisterTime)
|
|
|
- {
|
|
|
- <em>@string.Format(Lang.AccountSubscribedSince, packageRegisterTime.ToString("dd/MM/yyyy"))</em>
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- <p>@Lang.AccountSubscriptionUnavailable</p>
|
|
|
- }
|
|
|
</div>
|
|
|
</section>
|
|
|
|