|
|
@@ -141,7 +141,7 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
Profile profile = HttpContext.Session.GetComplexData<Profile>("profile");
|
|
|
UserStatus userStatus = HttpContext.Session.GetComplexData<UserStatus>("userStatus");
|
|
|
|
|
|
- model.termType = termType != null ? termType : Constants.MEGA_LOTO_Pick10;
|
|
|
+ model.termType = termType != null ? termType : Constants.MEGA_LOTO;
|
|
|
model.userStatus = userStatus;
|
|
|
model.profile = profile;
|
|
|
model.listTerm = new List<Term>();
|
|
|
@@ -185,7 +185,7 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
|
|
|
if (!string.IsNullOrEmpty(termType))
|
|
|
{
|
|
|
- HttpContext.Session.SetString("termType", termType);
|
|
|
+ HttpContext.Session.SetString("termType", termType);
|
|
|
}
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
@@ -194,6 +194,7 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
return RedirectToAction("Login", "Account", new { area = "" });
|
|
|
}
|
|
|
|
|
|
+ model.serverTime = DateTime.Now;
|
|
|
return View(model);
|
|
|
}
|
|
|
|
|
|
@@ -202,7 +203,7 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
HomeIndex_ViewModel model = new HomeIndex_ViewModel();
|
|
|
try
|
|
|
{
|
|
|
- var token = HttpContext.Session.GetComplexData<string>("token");
|
|
|
+ var token = HttpContext.Session.GetComplexData<string>("token");
|
|
|
if (string.IsNullOrEmpty(token) && !User.Identity.IsAuthenticated)
|
|
|
{
|
|
|
return RedirectToAction("Login", "Account", new { area = "" });
|
|
|
@@ -218,14 +219,14 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
|
|
|
if (!string.IsNullOrEmpty(termType))
|
|
|
{
|
|
|
- HttpContext.Session.SetString("termType", termType);
|
|
|
+ HttpContext.Session.SetString("termType", termType);
|
|
|
}
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
log.Error(ex);
|
|
|
}
|
|
|
- return View(model);
|
|
|
+ model.serverTime = DateTime.Now; return View(model);
|
|
|
}
|
|
|
|
|
|
public async Task<IActionResult> FAQ()
|
|
|
@@ -233,7 +234,7 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
HomeIndex_ViewModel model = new HomeIndex_ViewModel();
|
|
|
try
|
|
|
{
|
|
|
- var token = HttpContext.Session.GetComplexData<string>("token");
|
|
|
+ var token = HttpContext.Session.GetComplexData<string>("token");
|
|
|
if (string.IsNullOrEmpty(token) && !User.Identity.IsAuthenticated)
|
|
|
{
|
|
|
return RedirectToAction("Login", "Account", new { area = "" });
|
|
|
@@ -248,7 +249,7 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
{
|
|
|
log.Error(ex);
|
|
|
}
|
|
|
- return View(model);
|
|
|
+ model.serverTime = DateTime.Now; return View(model);
|
|
|
}
|
|
|
|
|
|
public IActionResult More()
|
|
|
@@ -256,7 +257,7 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
HomeIndex_ViewModel model = new HomeIndex_ViewModel();
|
|
|
try
|
|
|
{
|
|
|
- var token = HttpContext.Session.GetComplexData<string>("token");
|
|
|
+ var token = HttpContext.Session.GetComplexData<string>("token");
|
|
|
if (string.IsNullOrEmpty(token) && !User.Identity.IsAuthenticated)
|
|
|
{
|
|
|
return RedirectToAction("Login", "Account", new { area = "" });
|
|
|
@@ -271,7 +272,7 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
{
|
|
|
log.Error(ex);
|
|
|
}
|
|
|
- return View(model);
|
|
|
+ model.serverTime = DateTime.Now; return View(model);
|
|
|
}
|
|
|
|
|
|
public IActionResult Profile()
|
|
|
@@ -279,7 +280,7 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
HomeIndex_ViewModel model = new HomeIndex_ViewModel();
|
|
|
try
|
|
|
{
|
|
|
- var token = HttpContext.Session.GetComplexData<string>("token");
|
|
|
+ var token = HttpContext.Session.GetComplexData<string>("token");
|
|
|
if (string.IsNullOrEmpty(token) && !User.Identity.IsAuthenticated)
|
|
|
{
|
|
|
return RedirectToAction("Login", "Account", new { area = "" });
|
|
|
@@ -294,7 +295,7 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
{
|
|
|
log.Error(ex);
|
|
|
}
|
|
|
- return View(model);
|
|
|
+ model.serverTime = DateTime.Now; return View(model);
|
|
|
}
|
|
|
|
|
|
[HttpPost]
|
|
|
@@ -313,9 +314,11 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
string birthdayFormat = birthday;
|
|
|
if (!string.IsNullOrEmpty(birthday) && birthday.Contains("-"))
|
|
|
{
|
|
|
- try {
|
|
|
+ try
|
|
|
+ {
|
|
|
birthdayFormat = DateTime.ParseExact(birthday, "yyyy-MM-dd", CultureInfo.InvariantCulture).ToString("dd/MM/yyyy");
|
|
|
- } catch { }
|
|
|
+ }
|
|
|
+ catch { }
|
|
|
}
|
|
|
|
|
|
UserUpdateProfileRequest request = new UserUpdateProfileRequest
|
|
|
@@ -327,7 +330,7 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
};
|
|
|
|
|
|
UserUpdateProfileResponse response = api.UserUpdateProfileApi(configuration, request);
|
|
|
-
|
|
|
+
|
|
|
if (response.status == Code.SUCCESS)
|
|
|
{
|
|
|
// Update session profile
|
|
|
@@ -354,7 +357,7 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
HomeIndex_ViewModel model = new HomeIndex_ViewModel();
|
|
|
try
|
|
|
{
|
|
|
- var token = HttpContext.Session.GetComplexData<string>("token");
|
|
|
+ var token = HttpContext.Session.GetComplexData<string>("token");
|
|
|
if (string.IsNullOrEmpty(token) && !User.Identity.IsAuthenticated)
|
|
|
{
|
|
|
return RedirectToAction("Login", "Account", new { area = "" });
|
|
|
@@ -369,7 +372,7 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
{
|
|
|
log.Error(ex);
|
|
|
}
|
|
|
- return View(model);
|
|
|
+ model.serverTime = DateTime.Now; return View(model);
|
|
|
}
|
|
|
|
|
|
public IActionResult HowToPlay()
|
|
|
@@ -377,7 +380,7 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
HomeIndex_ViewModel model = new HomeIndex_ViewModel();
|
|
|
try
|
|
|
{
|
|
|
- var token = HttpContext.Session.GetComplexData<string>("token");
|
|
|
+ var token = HttpContext.Session.GetComplexData<string>("token");
|
|
|
if (string.IsNullOrEmpty(token) && !User.Identity.IsAuthenticated)
|
|
|
{
|
|
|
return RedirectToAction("Login", "Account", new { area = "" });
|
|
|
@@ -392,7 +395,7 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
{
|
|
|
log.Error(ex);
|
|
|
}
|
|
|
- return View(model);
|
|
|
+ model.serverTime = DateTime.Now; return View(model);
|
|
|
}
|
|
|
|
|
|
public IActionResult Results(string termType, string fromDate, string toDate)
|
|
|
@@ -400,7 +403,7 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
TermResultHistoryModel model = new TermResultHistoryModel();
|
|
|
try
|
|
|
{
|
|
|
- var token = HttpContext.Session.GetComplexData<string>("token");
|
|
|
+ var token = HttpContext.Session.GetComplexData<string>("token");
|
|
|
if (string.IsNullOrEmpty(token) && !User.Identity.IsAuthenticated)
|
|
|
{
|
|
|
return RedirectToAction("Login", "Account", new { area = "" });
|
|
|
@@ -408,9 +411,9 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
|
|
|
Profile profile = HttpContext.Session.GetComplexData<Profile>("profile");
|
|
|
UserStatus userStatus = HttpContext.Session.GetComplexData<UserStatus>("userStatus");
|
|
|
-
|
|
|
+
|
|
|
model.termType = termType != null ? termType : (HttpContext.Session.GetString("termType") ?? Constants.PIC10_BASIC_CODE);
|
|
|
-
|
|
|
+
|
|
|
// Set default dates if not provided (same as root implementation)
|
|
|
string fromFormatted = fromDate != null ? fromDate : DateTime.Now.AddDays(-2).ToString("yyyy-MM-dd");
|
|
|
string toFormatted = toDate != null ? toDate : DateTime.Now.ToString("yyyy-MM-dd");
|
|
|
@@ -447,7 +450,7 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
log.Error(ex);
|
|
|
model.listTerm = new List<Term>();
|
|
|
}
|
|
|
- return View(model);
|
|
|
+ model.serverTime = DateTime.Now; return View(model);
|
|
|
}
|
|
|
|
|
|
public IActionResult TermResultHistory(string termType, string fromDate, string toDate)
|
|
|
@@ -455,7 +458,7 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
TermResultHistoryModel model = new TermResultHistoryModel();
|
|
|
try
|
|
|
{
|
|
|
- var token = HttpContext.Session.GetComplexData<string>("token");
|
|
|
+ var token = HttpContext.Session.GetComplexData<string>("token");
|
|
|
if (string.IsNullOrEmpty(token)) return Json(new { status = "error", message = "Session expired" });
|
|
|
|
|
|
string fromFormatted = fromDate != null ? fromDate : DateTime.Now.AddDays(-2).ToString("yyyy-MM-dd");
|
|
|
@@ -519,7 +522,7 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
order = Constants.DECS,
|
|
|
fromDate = DateTime.ParseExact(fromFormatted, "yyyy-MM-dd", CultureInfo.InvariantCulture).ToString("dd/MM/yyyy"),
|
|
|
toDate = DateTime.ParseExact(toFormatted, "yyyy-MM-dd", CultureInfo.InvariantCulture).ToString("dd/MM/yyyy"),
|
|
|
- rowsOnPage = "50",
|
|
|
+ rowsOnPage = "50",
|
|
|
seqPage = "1",
|
|
|
id = Constants.ALL_DATA
|
|
|
};
|
|
|
@@ -563,7 +566,7 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
}
|
|
|
|
|
|
string msisdn = HttpContext.Session.GetComplexData<string>("msisdn");
|
|
|
-
|
|
|
+
|
|
|
model.termType = termType ?? Constants.PIC10_BASIC_CODE;
|
|
|
model.status = status ?? Constants.ALL_DATA; // -1 for all, or 0, 1, 2
|
|
|
model.seqPage = seqPage ?? "1";
|
|
|
@@ -596,6 +599,7 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
log.Error(ex);
|
|
|
model.listTicket = new List<Ticket>();
|
|
|
}
|
|
|
+ model.serverTime = DateTime.Now;
|
|
|
return View(model);
|
|
|
}
|
|
|
|
|
|
@@ -683,29 +687,28 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
+ log.Info($"[ConfirmTicketData] START - Request: {JsonConvert.SerializeObject(request)}");
|
|
|
var token = HttpContext.Session.GetComplexData<string>("token");
|
|
|
var msisdn = HttpContext.Session.GetComplexData<string>("msisdn");
|
|
|
- if (string.IsNullOrEmpty(token)) return Json(new { responseCode = Code.SESSION_EXPIRED, responseMessage = "Session expired" });
|
|
|
+ if (string.IsNullOrEmpty(token))
|
|
|
+ {
|
|
|
+ log.Info("[ConfirmTicketData] Session expired");
|
|
|
+ return Json(new { responseCode = Code.SESSION_EXPIRED, responseMessage = "Session expired" });
|
|
|
+ }
|
|
|
|
|
|
request.token = token;
|
|
|
request.msisdn = msisdn;
|
|
|
request.language = CultureInfo.CurrentCulture.Name.StartsWith("en") ? "0" : "1";
|
|
|
request.requestId = Guid.NewGuid().ToString();
|
|
|
|
|
|
- // DEBUG: Log request data
|
|
|
- var ticketDebug = request.ticket != null ? string.Join("; ", request.ticket.Select(t => $"code={t.code}, money={t.money}")) : "NULL";
|
|
|
- log.Info($"[ConfirmTicketData] gameId={request.gameId}, msisdn={request.msisdn}, tickets=[{ticketDebug}]");
|
|
|
-
|
|
|
ConfirmTicketDataResponse response = api.ConfirmTicketDataApi(configuration, request);
|
|
|
-
|
|
|
- // DEBUG: Log response
|
|
|
- log.Info($"[ConfirmTicketData] Response: code={response.responseCode}, msg={response.responseMessage}, transId={response.transId}");
|
|
|
-
|
|
|
+ log.Info($"[ConfirmTicketData] Call ConfirmTicketDataApi Response: {JsonConvert.SerializeObject(response)}");
|
|
|
+
|
|
|
return Json(response);
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
- log.Error(ex);
|
|
|
+ log.Error("[ConfirmTicketData] EXCEPTION: ", ex);
|
|
|
return Json(new { responseCode = Code.ERROR, responseMessage = ex.Message });
|
|
|
}
|
|
|
}
|
|
|
@@ -715,19 +718,25 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
+ log.Info($"[ConfirmOTP] START - Request: {JsonConvert.SerializeObject(request)}");
|
|
|
var token = HttpContext.Session.GetComplexData<string>("token");
|
|
|
var msisdn = HttpContext.Session.GetComplexData<string>("msisdn");
|
|
|
- if (string.IsNullOrEmpty(token)) return Json(new { responseCode = Code.SESSION_EXPIRED, responseMessage = "Session expired" });
|
|
|
+ if (string.IsNullOrEmpty(token))
|
|
|
+ {
|
|
|
+ log.Info("[ConfirmOTP] Session expired");
|
|
|
+ return Json(new { responseCode = Code.SESSION_EXPIRED, responseMessage = "Session expired" });
|
|
|
+ }
|
|
|
|
|
|
request.token = token;
|
|
|
request.msisdn = msisdn;
|
|
|
|
|
|
ConfirmOTPResponse response = api.ConfirmOTPApi(configuration, request);
|
|
|
+ log.Info($"[ConfirmOTP] Call ConfirmOTPApi Response: {JsonConvert.SerializeObject(response)}");
|
|
|
return Json(response);
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
- log.Error(ex);
|
|
|
+ log.Error("[ConfirmOTP] EXCEPTION: ", ex);
|
|
|
return Json(new { responseCode = Code.ERROR, responseMessage = ex.Message });
|
|
|
}
|
|
|
}
|
|
|
@@ -737,9 +746,14 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
+ log.Info("[SendOTP] START");
|
|
|
var token = HttpContext.Session.GetComplexData<string>("token");
|
|
|
var msisdn = HttpContext.Session.GetComplexData<string>("msisdn");
|
|
|
- if (string.IsNullOrEmpty(token)) return Json(new { responseCode = Code.SESSION_EXPIRED, responseMessage = "Session expired" });
|
|
|
+ if (string.IsNullOrEmpty(token))
|
|
|
+ {
|
|
|
+ log.Info("[SendOTP] Session expired");
|
|
|
+ return Json(new { responseCode = Code.SESSION_EXPIRED, responseMessage = "Session expired" });
|
|
|
+ }
|
|
|
|
|
|
SendOTPRequest request = new SendOTPRequest
|
|
|
{
|
|
|
@@ -748,13 +762,15 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
language = CultureInfo.CurrentCulture.Name.StartsWith("en") ? "0" : "1",
|
|
|
channel = configuration.GetSection("channel").Value
|
|
|
};
|
|
|
+ log.Info($"[SendOTP] Call SendOTPApi Request: {JsonConvert.SerializeObject(request)}");
|
|
|
|
|
|
SendOTPResponse response = api.SendOTPApi(configuration, request);
|
|
|
+ log.Info($"[SendOTP] Call SendOTPApi Response: {JsonConvert.SerializeObject(response)}");
|
|
|
return Json(response);
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
- log.Error(ex);
|
|
|
+ log.Error("[SendOTP] EXCEPTION: ", ex);
|
|
|
return Json(new { responseCode = Code.ERROR, responseMessage = ex.Message });
|
|
|
}
|
|
|
}
|
|
|
@@ -764,9 +780,14 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
+ log.Info($"[ConfirmBuyingTicketV2] START - Request: {JsonConvert.SerializeObject(request)}");
|
|
|
var token = HttpContext.Session.GetComplexData<string>("token");
|
|
|
var msisdn = HttpContext.Session.GetComplexData<string>("msisdn");
|
|
|
- if (string.IsNullOrEmpty(token)) return Json(new { responseCode = Code.SESSION_EXPIRED, responseMessage = "Session expired" });
|
|
|
+ if (string.IsNullOrEmpty(token))
|
|
|
+ {
|
|
|
+ log.Info("[ConfirmBuyingTicketV2] Session expired");
|
|
|
+ return Json(new { responseCode = Code.SESSION_EXPIRED, responseMessage = "Session expired" });
|
|
|
+ }
|
|
|
|
|
|
// Step 1: Verify OTP first
|
|
|
ConfirmOTPRequest otpRequest = new ConfirmOTPRequest
|
|
|
@@ -777,10 +798,14 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
language = CultureInfo.CurrentCulture.Name.StartsWith("en") ? "0" : "1",
|
|
|
channel = configuration.GetSection("channel").Value
|
|
|
};
|
|
|
+ log.Info($"[ConfirmBuyingTicketV2] Call ConfirmOTPApi Request: {JsonConvert.SerializeObject(otpRequest)}");
|
|
|
+
|
|
|
ConfirmOTPResponse otpResponse = api.ConfirmOTPApi(configuration, otpRequest);
|
|
|
+ log.Info($"[ConfirmBuyingTicketV2] Call ConfirmOTPApi Response: {JsonConvert.SerializeObject(otpResponse)}");
|
|
|
|
|
|
if (otpResponse.responseCode != Code.SUCCESS)
|
|
|
{
|
|
|
+ log.Info($"[ConfirmBuyingTicketV2] OTP Verification Failed: {otpResponse.responseMessage}");
|
|
|
return Json(new { responseCode = otpResponse.responseCode, responseMessage = otpResponse.responseMessage });
|
|
|
}
|
|
|
|
|
|
@@ -791,16 +816,23 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
request.language = CultureInfo.CurrentCulture.Name.StartsWith("en") ? "0" : "1";
|
|
|
request.channel = configuration.GetSection("channel").Value;
|
|
|
|
|
|
+ log.Info($"[ConfirmBuyingTicketV2] Call ConfirmBuyingTicketApi Request: {JsonConvert.SerializeObject(request)}");
|
|
|
+
|
|
|
ConfirmBuyingTicketResponse response = api.ConfirmBuyingTicketApi(configuration, request);
|
|
|
+ log.Info($"[ConfirmBuyingTicketV2] Call ConfirmBuyingTicketApi Response: {JsonConvert.SerializeObject(response)}");
|
|
|
+
|
|
|
if (response.responseCode == Code.SUCCESS)
|
|
|
{
|
|
|
+ log.Info($"[ConfirmBuyingTicketV2] Payment Success. Updating user status for {msisdn}");
|
|
|
UpdateUserStatus(msisdn, token);
|
|
|
}
|
|
|
+
|
|
|
+ log.Info($"[ConfirmBuyingTicketV2] END - Result: {JsonConvert.SerializeObject(response)}");
|
|
|
return Json(response);
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
- log.Error(ex);
|
|
|
+ log.Error("[ConfirmBuyingTicketV2] EXCEPTION: ", ex);
|
|
|
return Json(new { responseCode = Code.ERROR, responseMessage = ex.Message });
|
|
|
}
|
|
|
}
|
|
|
@@ -825,8 +857,9 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
{
|
|
|
UpdateUserStatus(msisdn, token);
|
|
|
}
|
|
|
- return Json(new {
|
|
|
- responseCode = response.responseCode,
|
|
|
+ return Json(new
|
|
|
+ {
|
|
|
+ responseCode = response.responseCode,
|
|
|
responseMessage = response.responseMessage,
|
|
|
transId = response.transId,
|
|
|
orderId = response.orderId,
|
|
|
@@ -857,7 +890,7 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
UserStatus userStatus = HttpContext.Session.GetComplexData<UserStatus>("userStatus");
|
|
|
model.userStatus = userStatus;
|
|
|
model.profile = profile;
|
|
|
-
|
|
|
+
|
|
|
// Get active term
|
|
|
ResultOfTermRequest request = new ResultOfTermRequest
|
|
|
{
|
|
|
@@ -888,7 +921,7 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
token = token,
|
|
|
type = Constants.TERM_HAS_RESULT_TYPE,
|
|
|
order = Constants.DECS,
|
|
|
- fromDate = DateTime.Now.AddDays(-10).ToString("dd/MM/yyyy"),
|
|
|
+ fromDate = DateTime.Now.AddDays(-10).ToString("dd/MM/yyyy"),
|
|
|
toDate = DateTime.Now.ToString("dd/MM/yyyy"),
|
|
|
rowsOnPage = "5",
|
|
|
seqPage = "1",
|
|
|
@@ -908,7 +941,7 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- return View(model);
|
|
|
+ model.serverTime = DateTime.Now; return View(model);
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
@@ -926,14 +959,15 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
HomeIndex_ViewModel model = new HomeIndex_ViewModel();
|
|
|
model.profile = HttpContext.Session.GetComplexData<Profile>("profile");
|
|
|
model.userStatus = HttpContext.Session.GetComplexData<UserStatus>("userStatus");
|
|
|
- return View(model);
|
|
|
+ model.serverTime = DateTime.Now; return View(model);
|
|
|
}
|
|
|
|
|
|
[HttpPost]
|
|
|
- public IActionResult ConfirmTransfer(string otp, string phone, string amount)
|
|
|
+ public IActionResult ConfirmTransfer(string otp, string phone, string amount, string channelPayment)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
+ log.Info($"[ConfirmTransfer] START - otp: {otp}, phone: {phone}, amount: {amount}, channelPayment: {channelPayment}");
|
|
|
var token = HttpContext.Session.GetComplexData<string>("token");
|
|
|
var msisdn = HttpContext.Session.GetComplexData<string>("msisdn");
|
|
|
if (string.IsNullOrEmpty(token)) return Json(new { status = Code.SESSION_EXPIRED, message = "Session expired" });
|
|
|
@@ -947,7 +981,9 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
language = CultureInfo.CurrentCulture.Name.StartsWith("en") ? "0" : "1",
|
|
|
channel = configuration.GetSection("channel").Value
|
|
|
};
|
|
|
+ log.Info($"[ConfirmTransfer] Call ConfirmOTPApi Request: {JsonConvert.SerializeObject(otpRequest)}");
|
|
|
ConfirmOTPResponse otpResponse = api.ConfirmOTPApi(configuration, otpRequest);
|
|
|
+ log.Info($"[ConfirmTransfer] Call ConfirmOTPApi Response: {JsonConvert.SerializeObject(otpResponse)}");
|
|
|
|
|
|
if (otpResponse.responseCode != Code.SUCCESS)
|
|
|
{
|
|
|
@@ -962,20 +998,23 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
money = amount,
|
|
|
otp = otp,
|
|
|
token = token,
|
|
|
- channelPayment = Constants.BASIC_WALLET_TRANSFER,
|
|
|
+ channelPayment = channelPayment ?? Constants.BASIC_WALLET_TRANSFER,
|
|
|
language = CultureInfo.CurrentCulture.Name.StartsWith("en") ? "0" : "1",
|
|
|
channel = configuration.GetSection("channel").Value
|
|
|
};
|
|
|
|
|
|
+ log.Info($"[ConfirmTransfer] Call TransferMoneyApi Request: {JsonConvert.SerializeObject(xferRequest)}");
|
|
|
TransferMoneyResponse xferResponse = api.TransferMoneyApi(configuration, xferRequest);
|
|
|
+ log.Info($"[ConfirmTransfer] Call TransferMoneyApi Response: {JsonConvert.SerializeObject(xferResponse)}");
|
|
|
|
|
|
if (xferResponse.responseCode == Code.SUCCESS)
|
|
|
{
|
|
|
UpdateUserStatus(msisdn, token);
|
|
|
}
|
|
|
|
|
|
- return Json(new {
|
|
|
- status = xferResponse.responseCode,
|
|
|
+ return Json(new
|
|
|
+ {
|
|
|
+ status = xferResponse.responseCode,
|
|
|
message = xferResponse.responseMessage,
|
|
|
paymentCode = xferResponse.paymentCode,
|
|
|
responseCode = xferResponse.responseCode,
|
|
|
@@ -993,16 +1032,22 @@ namespace LotteryWebApp.Areas.LotteryV2.Controllers
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
+ log.Info($"[UpdateUserStatus] START - msisdn: {msisdn}");
|
|
|
UserStatusRequest userStatusRequest = new UserStatusRequest { users = msisdn, token = token };
|
|
|
+ log.Info($"[UpdateUserStatus] Call GetUserStatusApi Request: {JsonConvert.SerializeObject(userStatusRequest)}");
|
|
|
+
|
|
|
UserStatus userStatusGet = api.GetUserStatusApi(configuration, userStatusRequest);
|
|
|
+ log.Info($"[UpdateUserStatus] Call GetUserStatusApi Response: {JsonConvert.SerializeObject(userStatusGet)}");
|
|
|
+
|
|
|
if (userStatusGet != null)
|
|
|
{
|
|
|
HttpContext.Session.SetComplexData("userStatus", userStatusGet);
|
|
|
}
|
|
|
+ log.Info("[UpdateUserStatus] END");
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
- log.Error("UpdateUserStatus Error: " + ex.Message);
|
|
|
+ log.Error("[UpdateUserStatus] EXCEPTION: ", ex);
|
|
|
}
|
|
|
}
|
|
|
|