shakun
11 months ago
26 changed files with 1233 additions and 85 deletions
-
2CustomerOnlineV2/CustomerOnlineV2.Api/API/TPApi/TPApiService.cs
-
220CustomerOnlineV2/CustomerOnlineV2.Business/Business/AccountBusiness/AccountBusiness.cs
-
3CustomerOnlineV2/CustomerOnlineV2.Business/Business/AccountBusiness/IAccountBusiness.cs
-
22CustomerOnlineV2/CustomerOnlineV2.Business/Business/LoggerProperty.cs
-
96CustomerOnlineV2/CustomerOnlineV2.Business/Business/NotifierV2.cs
-
2CustomerOnlineV2/CustomerOnlineV2.Business/Business/RegisterBusiness/IRegisterBusiness.cs
-
63CustomerOnlineV2/CustomerOnlineV2.Business/Business/RegisterBusiness/RegisterBusiness.cs
-
84CustomerOnlineV2/CustomerOnlineV2.Business/Business/ThirdPartyAPI.cs
-
62CustomerOnlineV2/CustomerOnlineV2.Common/Helper/ApplicationConfig.cs
-
2CustomerOnlineV2/CustomerOnlineV2.Common/Helper/LoginUserInfo.cs
-
15CustomerOnlineV2/CustomerOnlineV2.Common/Helper/Utilities.cs
-
24CustomerOnlineV2/CustomerOnlineV2.Common/Models/AccountModel/AccountModel.cs
-
104CustomerOnlineV2/CustomerOnlineV2.Common/Models/CommonResponse.cs
-
33CustomerOnlineV2/CustomerOnlineV2.Common/Models/Notification/RestApiClient.cs
-
21CustomerOnlineV2/CustomerOnlineV2.Common/Models/Notification/SMSRequestModel.cs
-
1CustomerOnlineV2/CustomerOnlineV2.Common/Models/RegisterModel/UserRegisterResponse.cs
-
3CustomerOnlineV2/CustomerOnlineV2.Repository/ConnectionHelper/ConnectionHelper.cs
-
49CustomerOnlineV2/CustomerOnlineV2.Repository/Repository/AccountRepository/AccountRepository.cs
-
2CustomerOnlineV2/CustomerOnlineV2.Repository/Repository/AccountRepository/IAccountRepository.cs
-
2CustomerOnlineV2/CustomerOnlineV2.Repository/Repository/RegisterRepository/IRegisterRepository.cs
-
47CustomerOnlineV2/CustomerOnlineV2.Repository/Repository/RegisterRepository/RegisterRepository.cs
-
19CustomerOnlineV2/CustomerOnlineV2/Authorization/AuthorizationAttribute.cs
-
138CustomerOnlineV2/CustomerOnlineV2/Controllers/AccountController.cs
-
255CustomerOnlineV2/CustomerOnlineV2/Views/Account/VerifyOTP.cshtml
-
6CustomerOnlineV2/CustomerOnlineV2/Views/Customer/CustomerRegistration.cshtml
-
17CustomerOnlineV2/CustomerOnlineV2/Views/Transaction/Receipt.cshtml
@ -0,0 +1,22 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Text; |
||||
|
using System.Threading.Tasks; |
||||
|
|
||||
|
namespace CustomerOnlineV2.Business.Business |
||||
|
{ |
||||
|
public static class LoggerProperty |
||||
|
{ |
||||
|
public const string PROCESSID = "processId"; |
||||
|
public const string PAYOUTPARTNERID = "payoutPartnerId"; |
||||
|
public const string METHODNAME = "methodName"; |
||||
|
public const string CONTROLNO = "controlNo"; |
||||
|
public const string CREATEDBY = "createdBy"; |
||||
|
public const string MESSAGE = "message"; |
||||
|
public const string EXCEPTION = "exception"; |
||||
|
public const string LOGGER = "logger"; |
||||
|
public const string LEVEL = "level"; |
||||
|
public const string IPADDRESS = "userIP"; |
||||
|
} |
||||
|
} |
@ -0,0 +1,96 @@ |
|||||
|
using CustomerOnlineV2.Common.Models.Notification; |
||||
|
using CustomerOnlineV2.Common.Models; |
||||
|
using Newtonsoft.Json; |
||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Text; |
||||
|
using System.Threading.Tasks; |
||||
|
|
||||
|
using CustomerOnlineV2.Common.Models.TransactionModel; |
||||
|
|
||||
|
namespace CustomerOnlineV2.Business.Business |
||||
|
{ |
||||
|
public static class NotifierV2 |
||||
|
{ |
||||
|
|
||||
|
public static JsonRxResponse SendNotification(SendNotificationRequest request, NOTIFICATION_TYPE nOTIFICATION_TYPE = NOTIFICATION_TYPE.PUSH_NOTIFICATION) |
||||
|
{ |
||||
|
ThirdPartyAPI _tpApi = new ThirdPartyAPI(); |
||||
|
|
||||
|
APIJsonResponse jsonResponse = new APIJsonResponse(); |
||||
|
|
||||
|
if (string.IsNullOrEmpty(request.ProcessId)) |
||||
|
request.ProcessId = Guid.NewGuid().ToString(); |
||||
|
|
||||
|
//request.ProviderId = Guid.NewGuid().ToString();
|
||||
|
request.NotificationTypeId = nOTIFICATION_TYPE.ToString(); |
||||
|
|
||||
|
|
||||
|
APIJsonResponse result = _tpApi.ThirdPartyApiGetDataOnly<SendNotificationRequest, APIJsonResponse>(request, "TP/NotificationAPI", out jsonResponse); |
||||
|
|
||||
|
|
||||
|
return new JsonRxResponse() |
||||
|
{ |
||||
|
ErrorCode = result.ResponseCode, |
||||
|
Id = result.Id, |
||||
|
Msg = result.Msg, |
||||
|
Data = result.Data, |
||||
|
Extra = result.Extra, |
||||
|
Extra2 = result.Extra1 |
||||
|
}; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
} |
||||
|
|
||||
|
public class SendSMSApiService |
||||
|
{ |
||||
|
public APIJsonResponse SMSTPApi(SMSRequestModel model) |
||||
|
{ |
||||
|
//Log.Debug("Calculate | Calling third party api to fetch the ex-rate details " + JsonConvert.SerializeObject(model));
|
||||
|
using (var client = RestApiClient.GetThirdPartyClient()) |
||||
|
{ |
||||
|
APIJsonResponse jsonResponse = new APIJsonResponse(); |
||||
|
var obj = JsonConvert.SerializeObject(model); |
||||
|
var jbdContent = new StringContent(obj.ToString(), Encoding.UTF8, "application/json"); |
||||
|
try |
||||
|
{ |
||||
|
var URL = "TP/SMSApi"; |
||||
|
|
||||
|
HttpResponseMessage resp = client.PostAsync(URL, jbdContent).Result; |
||||
|
string resultData = resp.Content.ReadAsStringAsync().Result; |
||||
|
if (resp.IsSuccessStatusCode) |
||||
|
{ |
||||
|
jsonResponse = JsonConvert.DeserializeObject<APIJsonResponse>(resultData); |
||||
|
var a = (jsonResponse.Data != null ? JsonConvert.DeserializeObject<CommonResponse>(jsonResponse.Data.ToString()) : null); |
||||
|
jsonResponse.Data = a; |
||||
|
|
||||
|
return jsonResponse; |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
var errorJson = JsonConvert.DeserializeObject<ErrorJosn>(resultData); |
||||
|
var jsonResponseData = JsonConvert.DeserializeObject<APIJsonResponse>(errorJson.Message); |
||||
|
var data = JsonConvert.DeserializeObject<List<Data>>(jsonResponseData.Data.ToString()); |
||||
|
jsonResponse.Id = jsonResponseData.Id; |
||||
|
jsonResponse.ResponseCode = jsonResponseData.ResponseCode; |
||||
|
jsonResponse.Msg = jsonResponseData.Msg; |
||||
|
jsonResponse.Data = data; |
||||
|
jsonResponse.Extra = jsonResponseData.Extra; |
||||
|
jsonResponse.Extra1 = jsonResponseData.Extra1; |
||||
|
return jsonResponse; |
||||
|
} |
||||
|
} |
||||
|
catch (Exception ex) |
||||
|
{ |
||||
|
return new APIJsonResponse() |
||||
|
{ |
||||
|
ResponseCode = "1", |
||||
|
Msg = (ex.InnerException == null ? ex.Message : ex.InnerException.Message) |
||||
|
}; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
@ -0,0 +1,84 @@ |
|||||
|
using CustomerOnlineV2.Common.Models; |
||||
|
using Newtonsoft.Json; |
||||
|
using Newtonsoft.Json.Linq; |
||||
|
using System.Net.Http.Headers; |
||||
|
using System.Text; |
||||
|
|
||||
|
namespace CustomerOnlineV2.Business.Business |
||||
|
{ |
||||
|
public class ThirdPartyAPI |
||||
|
{ |
||||
|
private static int timeOut = 100; |
||||
|
private string tp_base_url = "http://77.68.15.91:1083/api/v1/"; |
||||
|
private string apiAccessKey = "KPb1ttRs3CJnORpVU8SmAKUs7a42vtvjzQ47gU0b4u0vxAEI0PgZref6puzkVhLTX2PRNMGCbnb2TglupsjV5AGhYvw8a8POTcUcFSrEdHmTkhkIGNvUvxSpKjUOXGFQWaGU1bxoqqUSaFOmNE5zGojVmwPoMy38CNLwnpQKjdsIuxCKGCApa2gWHJl9gebmIpUODv9jAZgmMEaXqyR4CLg4iSksfTyYNjdqxEE88P5THYt5GuNk8Ti6K2RxIKfPWY49hBOpiYnXcApgSDiKFYqQG9WuZ7cvDGJIWg5WgWKjGle8Y3OydhONXVkN5OMPXDA4VZkK4c5nM363Zkg4w4qdzWuwhsEoAwU4rej6sMRZue3L0BowBJja1OK0iPoTX70EexX8rviMLOZPUDwhxzkL3eODS69VEEbjHb8WSjhho5h3KnCE4tcqCWihwSZ8Yuyhw1rzIMNw2C8pN1GEJyXc6goIFkf7dmK9ynJSxu52D9GjOkKqoD7dFNFulOFVfgeCuhPDYG2A2c2RSvGHv24VDXvmGVaAMLiPtsTz5oD8f0na7fX1xGg0Qveh0KgQL5THnrMK6gm5Ky7O8nbecIxY"; |
||||
|
|
||||
|
|
||||
|
public ResponseModel ThirdPartyApiGetDataOnly<RequestModel, ResponseModel>(RequestModel model, string api_url, out APIJsonResponse jsonResponse, string MethodType = "post") |
||||
|
{ |
||||
|
ResponseModel _responseModel = default(ResponseModel); |
||||
|
using (HttpClient httpClient = new HttpClient()) |
||||
|
{ |
||||
|
try |
||||
|
{ |
||||
|
httpClient.BaseAddress = new Uri(tp_base_url); |
||||
|
httpClient.DefaultRequestHeaders.Add("apiAccessKey", apiAccessKey); |
||||
|
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); |
||||
|
httpClient.Timeout = new TimeSpan(0, 0, timeOut); |
||||
|
HttpResponseMessage resp = new HttpResponseMessage(); |
||||
|
if (MethodType.ToLower().Equals("get")) |
||||
|
resp = httpClient.GetAsync(api_url).Result; |
||||
|
if (MethodType.ToLower().Equals("put")) |
||||
|
{ |
||||
|
StringContent jbdContent = new StringContent(JsonConvert.SerializeObject(model).ToString(), Encoding.UTF8, "application/json"); |
||||
|
resp = httpClient.PutAsync(api_url, jbdContent).Result; |
||||
|
} |
||||
|
if (MethodType.ToLower().Equals("post")) |
||||
|
{ |
||||
|
var jsonData = JsonConvert.SerializeObject(model).ToString(); |
||||
|
StringContent jbdContent = new StringContent(jsonData, Encoding.UTF8, "application/json"); |
||||
|
resp = httpClient.PostAsync(api_url, jbdContent).Result; |
||||
|
} |
||||
|
string resultData = resp.Content.ReadAsStringAsync().Result; |
||||
|
if (resp.IsSuccessStatusCode) |
||||
|
{ |
||||
|
var result = resp.Content.ReadAsStringAsync().Result; |
||||
|
JObject a = JObject.Parse(result); |
||||
|
_responseModel = a.ToObject<ResponseModel>(); |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
|
||||
|
ErrorJosn errorJson = JsonConvert.DeserializeObject<ErrorJosn>(resultData); |
||||
|
APIJsonResponse jsonResponseData = JsonConvert.DeserializeObject<APIJsonResponse>(errorJson.Message); |
||||
|
List<Data> data = JsonConvert.DeserializeObject<List<Data>>(jsonResponseData.Data.ToString()); |
||||
|
jsonResponse = new APIJsonResponse() |
||||
|
{ |
||||
|
Id = jsonResponseData.Id, |
||||
|
Msg = jsonResponseData.Msg, |
||||
|
Data = data, |
||||
|
Extra = jsonResponseData.Extra, |
||||
|
Extra1 = jsonResponseData.Extra1 |
||||
|
}; |
||||
|
} |
||||
|
} |
||||
|
catch (HttpRequestException ex) |
||||
|
{ |
||||
|
jsonResponse = new APIJsonResponse() |
||||
|
{ |
||||
|
ResponseCode = "999", |
||||
|
Msg = ex.Message, |
||||
|
Data = ex.Data, |
||||
|
}; |
||||
|
_responseModel = default(ResponseModel); |
||||
|
} |
||||
|
}; |
||||
|
|
||||
|
jsonResponse = new APIJsonResponse() |
||||
|
{ |
||||
|
ResponseCode = "0", |
||||
|
Msg = "Api Calling process successfully!" |
||||
|
}; |
||||
|
return _responseModel; |
||||
|
} |
||||
|
} |
||||
|
} |
@ -0,0 +1,62 @@ |
|||||
|
using CustomerOnlineV2.Common.Configs; |
||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Text; |
||||
|
using System.Threading.Tasks; |
||||
|
|
||||
|
namespace CustomerOnlineV2.Common.Helper |
||||
|
{ |
||||
|
public static class ApplicationConfig |
||||
|
{ |
||||
|
public static string GetDocumentUploadPath() |
||||
|
{ |
||||
|
return ReadWebConfig("docUploadPath"); |
||||
|
} |
||||
|
|
||||
|
public static string GetDocumentUploadUrl() |
||||
|
{ |
||||
|
return ReadWebConfig("docUploadURL"); |
||||
|
} |
||||
|
|
||||
|
public static string GetTelecomsIconRelativePath() |
||||
|
{ |
||||
|
return ReadWebConfig("telecomsIconRelativePath"); |
||||
|
} |
||||
|
|
||||
|
public static string GetCountryFlagRelativePath() |
||||
|
{ |
||||
|
return ReadWebConfig("countryFlagRelativePath"); |
||||
|
} |
||||
|
|
||||
|
public static string GetKycImageRelativePath() |
||||
|
{ |
||||
|
return ReadWebConfig("kycImageRelativePath"); |
||||
|
} |
||||
|
|
||||
|
public static string GetRewardImageRelativePath() |
||||
|
{ |
||||
|
return ReadWebConfig("rewardImageRelativePath"); |
||||
|
} |
||||
|
|
||||
|
public static string GetRootURL() |
||||
|
{ |
||||
|
return ReadWebConfig("rootUrl"); |
||||
|
} |
||||
|
|
||||
|
public static string GetMaximumFileSize() |
||||
|
{ |
||||
|
return ReadWebConfig("maxFileSize"); |
||||
|
} |
||||
|
|
||||
|
public static string ReadWebConfig(string key) |
||||
|
{ |
||||
|
return ReadWebConfig(key, ""); |
||||
|
} |
||||
|
|
||||
|
public static string ReadWebConfig(string key, string defValue) |
||||
|
{ |
||||
|
return ConfigurationManager.AppSettings[key] ?? defValue; |
||||
|
} |
||||
|
} |
||||
|
} |
@ -0,0 +1,33 @@ |
|||||
|
using CustomerOnlineV2.Common.Configs; |
||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Net.Http.Headers; |
||||
|
using System.Text; |
||||
|
using System.Threading.Tasks; |
||||
|
|
||||
|
namespace CustomerOnlineV2.Common.Models.Notification |
||||
|
{ |
||||
|
public class RestApiClient |
||||
|
{ |
||||
|
private static int timeOut = 100;//Convert.ToInt16(ConfigurationManager.AppSettings["ApiTimeOutSeconds"]);
|
||||
|
|
||||
|
public static HttpClient GetThirdPartyClient() |
||||
|
{ |
||||
|
//string authHeader = ConfigurationManager.AppSettings["ApiUser"].ToString() + ":" +ConfigurationManager.AppSettings["ApiPwd"].ToString();
|
||||
|
//var plainTextBytes = Encoding.UTF8.GetBytes(authHeader);
|
||||
|
//string encodedAuthHeader = Convert.ToBase64String(plainTextBytes);
|
||||
|
string thirdPartyUrl = "http://77.68.15.91:1083/api/v1/"; //ConfigurationManager.AppSettings["ThirdParty_Base_Url"].ToString();
|
||||
|
string apiAccessKey = "KPb1ttRs3CJnORpVU8SmAKUs7a42vtvjzQ47gU0b4u0vxAEI0PgZref6puzkVhLTX2PRNMGCbnb2TglupsjV5AGhYvw8a8POTcUcFSrEdHmTkhkIGNvUvxSpKjUOXGFQWaGU1bxoqqUSaFOmNE5zGojVmwPoMy38CNLwnpQKjdsIuxCKGCApa2gWHJl9gebmIpUODv9jAZgmMEaXqyR4CLg4iSksfTyYNjdqxEE88P5THYt5GuNk8Ti6K2RxIKfPWY49hBOpiYnXcApgSDiKFYqQG9WuZ7cvDGJIWg5WgWKjGle8Y3OydhONXVkN5OMPXDA4VZkK4c5nM363Zkg4w4qdzWuwhsEoAwU4rej6sMRZue3L0BowBJja1OK0iPoTX70EexX8rviMLOZPUDwhxzkL3eODS69VEEbjHb8WSjhho5h3KnCE4tcqCWihwSZ8Yuyhw1rzIMNw2C8pN1GEJyXc6goIFkf7dmK9ynJSxu52D9GjOkKqoD7dFNFulOFVfgeCuhPDYG2A2c2RSvGHv24VDXvmGVaAMLiPtsTz5oD8f0na7fX1xGg0Qveh0KgQL5THnrMK6gm5Ky7O8nbecIxY"; |
||||
|
|
||||
|
var httpClient = new HttpClient(); |
||||
|
httpClient.BaseAddress = new Uri(thirdPartyUrl); |
||||
|
|
||||
|
httpClient.DefaultRequestHeaders.Add("apiAccessKey", apiAccessKey.ToString()); |
||||
|
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); |
||||
|
httpClient.Timeout = new TimeSpan(0, 0, timeOut); |
||||
|
return httpClient; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
} |
@ -0,0 +1,21 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using System.Text; |
||||
|
using System.Threading.Tasks; |
||||
|
|
||||
|
namespace CustomerOnlineV2.Common.Models.Notification |
||||
|
{ |
||||
|
public class SMSRequestModel |
||||
|
{ |
||||
|
public string? ProcessId { get; set; } |
||||
|
public string? UserName { get; set; } |
||||
|
public string? RequestedBy { get; set; } |
||||
|
public string? MobileNumber { get; set; } |
||||
|
public string? SMSBody { get; set; } |
||||
|
public string? method { get; set; } |
||||
|
public string? ProviderId { get; set; } |
||||
|
public string? ControlNo { get; set; } |
||||
|
public string? MTID { get; set; } |
||||
|
} |
||||
|
} |
@ -0,0 +1,255 @@ |
|||||
|
@model CustomerOnlineV2.Common.Models.AccountModel.VerifyOtpModel |
||||
|
|
||||
|
@{ |
||||
|
Layout = null; |
||||
|
} |
||||
|
|
||||
|
<!DOCTYPE html> |
||||
|
<html lang="en"> |
||||
|
<head> |
||||
|
<meta charset="utf-8" /> |
||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
||||
|
<base href="~/" /> |
||||
|
<script src="~/vendor/jquery/jquery.min.js"></script> |
||||
|
<link href="~/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet" /> |
||||
|
<link href="~/vendor/font-awesome/css/all.min.css" rel="stylesheet" /> |
||||
|
<link href="~/vendor/bootstrap-select/css/bootstrap-select.min.css" rel="stylesheet" /> |
||||
|
<link href="~/vendor/currency-flags/css/currency-flags.min.css" rel="stylesheet" /> |
||||
|
<link href="~/vendor/owl.carousel/owl.carousel.min.css" rel="stylesheet" /> |
||||
|
<link href="~/css/styles-login.css" rel="stylesheet" /> |
||||
|
<link href="~/vendor/toast-alert/izitoast.min.css" rel="stylesheet" /> |
||||
|
<script src="~/vendor/toast-alert/izitoast.min.js"></script> |
||||
|
<link rel="icon" type="image/png" href="favicon.png" /> |
||||
|
</head> |
||||
|
<body> |
||||
|
<div id="main-wrapper"> |
||||
|
|
||||
|
<!-- Header --> |
||||
|
<header id="header"> |
||||
|
<div class="container"> |
||||
|
<div class="header-row"> |
||||
|
<div class="header-column justify-content-between"> |
||||
|
<!-- Logo |
||||
|
============================= --> |
||||
|
<div class="logo me-3"> |
||||
|
<a class="d-flex" href="/#" title="Money - HTML Template"> |
||||
|
<img src="images/imelondon.svg" height="35" alt="IME London - Logo" /> |
||||
|
</a> |
||||
|
</div> |
||||
|
<!-- Logo end --> |
||||
|
<!-- Collapse Button |
||||
|
============================== --> |
||||
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#header-nav"><span></span> <span></span> <span></span></button> |
||||
|
<!-- Collapse Button end --> |
||||
|
<!-- Primary Navigation |
||||
|
============================== --> |
||||
|
<nav class="primary-menu navbar navbar-expand-lg"> |
||||
|
<div id="header-nav" class="collapse navbar-collapse"> |
||||
|
<ul class="navbar-nav me-auto"> |
||||
|
|
||||
|
<li><a href="https://imelondon.co.uk/faqs">Help</a></li> |
||||
|
<li><a href="https://imelondon.co.uk/how-it-works">How It Works</a></li> |
||||
|
<li><a href="/Customer/CustomerRegistration">Register Now</a></li> |
||||
|
</ul> |
||||
|
</div> |
||||
|
</nav> |
||||
|
<!-- Primary Navigation end --> |
||||
|
</div> |
||||
|
<div class="header-column justify-content-end"> |
||||
|
<!-- Login & Signup Link |
||||
|
============================== --> |
||||
|
<!-- Login & Signup Link end --> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</header> |
||||
|
<!-- Header End --> |
||||
|
<!-- Page Header |
||||
|
|
||||
|
<div id="content"> |
||||
|
<!-- Who we are --> |
||||
|
<section class="section section-form-bg"> |
||||
|
<div class="container"> |
||||
|
<div class="row align-items-center"> |
||||
|
<div class="col-md-7 pe-0"> |
||||
|
<div class="contact-from-wrap"> |
||||
|
<div class="sec-heading mb-5"> |
||||
|
<h2 class="sec-title">Verify OTP</h2> |
||||
|
<div class="text-3">Please enter the 6-digit code sent to your email address</div> |
||||
|
<p class="sec-subtitle"></p> |
||||
|
</div> |
||||
|
@* <form action="dashboard-new.html" id="reset-form" class=""> *@ |
||||
|
<form asp-controller="Account" id="reset-form" asp-action="verifyOtp" method="post" novalidate> |
||||
|
<div class="form-floating mb-3"> |
||||
|
<input type="email" class="form-control" asp-for="Email" readonly> |
||||
|
<label for="floatingInput">Email address</label> |
||||
|
</div> |
||||
|
|
||||
|
<div class="form-floating mb-1"> |
||||
|
<input type="text" class="form-control" asp-for="otp"> |
||||
|
<label for="floatingInput">OTP</label> |
||||
|
</div> |
||||
|
|
||||
|
|
||||
|
@* <div class="col-lg-3 mt-4"> |
||||
|
<div class="d-grid mb-5"> |
||||
|
|
||||
|
<button type="submit" id="btnSubmit" onclick="VerifyOtp()" class="btn btn-primary btn-sumbit-blue" style="width: 250px;"> |
||||
|
<span class="resetText">Submit</span> <div class="spinner-border text-success loading" role="status" style="display:none;"></div> <i class="fa fa-window-maximize px-2 loginText" aria-hidden="true"></i> |
||||
|
</button> |
||||
|
</div> |
||||
|
<div class="d-grid mb-5"> |
||||
|
<button type="button" class="btn btn-secondary" onclick="CancelVerification()" style="width: 250px;"> |
||||
|
Cancel |
||||
|
</button> |
||||
|
</div> |
||||
|
</div> *@ |
||||
|
<div class="col-lg-8 mt-4"> |
||||
|
<div class="row"> |
||||
|
<div class="col-md-4 mb-3"> |
||||
|
<button type="submit" id="btnSubmit" onclick="VerifyOtp()" class="btn btn-primary btn-sumbit-blue" style="width: 100%;"> |
||||
|
<span class="resetText">Submit</span> <div class="spinner-border text-success loading" role="status" style="display:none;"></div> <i class="fa fa-window-maximize px-2 loginText" aria-hidden="true"></i> |
||||
|
</button> |
||||
|
</div> |
||||
|
<div class="col-md-4 mb-3"> |
||||
|
<button type="button" class="btn btn-secondary" onclick="CancelVerification()" style="width: 100%;"> |
||||
|
Cancel |
||||
|
</button> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
</form> |
||||
|
|
||||
|
<div class="mt-3"> Dont have username ? Registration won't take more than 5 min, <a class="" href="/Customer/CustomerRegistration">Register Now</a></div> |
||||
|
<div class="mt-3"> Already registered, <a class="" href="/Account/Index">Login Now</a></div> |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
<div class="col-md-5 ps-0"> |
||||
|
<div class="contact-info-wrap"> |
||||
|
<address> |
||||
|
<i class="fas fa-envelope"></i> |
||||
|
<span>Email Address</span> |
||||
|
<a href="mailto:info@imelondon.co.uk">info@imelondon.co.uk</a> |
||||
|
</address> |
||||
|
<address> |
||||
|
<i class="fas fa-phone-alt"></i> |
||||
|
<span>Contact Numbers</span> |
||||
|
<a href="tel:+44 02088660307">+44 02088660307</a> |
||||
|
<a href="tel:+44 07984713677">+44 07984713677</a> |
||||
|
</address> |
||||
|
<address> |
||||
|
<i class="fas fa-map-marker-alt"></i> |
||||
|
<span>Our Head Office</span> |
||||
|
Pentax House, South Hill Avenue, South Harrow, London, HA2 0DU |
||||
|
</address> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</section> |
||||
|
<!-- Who we are end --> |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
</div> |
||||
|
<footer id="footer" class="footer-web"> |
||||
|
<div class="container"> |
||||
|
<div class="text-center"> |
||||
|
<div class="row"> |
||||
|
<div class="mx-auto"> |
||||
|
<div class="text-center text-white"> |
||||
|
<p class="text-center mb-3 text-1"> |
||||
|
IME London is a product of Subhida UK Limited, Pentax House,South Hill Avenue, South Harrow, London, H2A 0D |
||||
|
|
||||
|
Company Registration No. 06432399 Subhida UK Ltd is authorized and regulated by the Financial Conduct |
||||
|
Authority (FCA) <br> under the Payment Service Regulations 2017. FCA Registration No. 576127 HMRC Registration No. XYML000000119350 |
||||
|
</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="row"><div class="col-lg-6 mx-auto"><div class="text-center text-white"><p>© IME London, 2023</p></div></div></div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</footer> |
||||
|
|
||||
|
<script type="text/javascript"> |
||||
|
|
||||
|
$(document).ready(function () { |
||||
|
|
||||
|
if ('@ViewBag.ResponseCode' != '0') { |
||||
|
iziToast.error({ |
||||
|
title: 'Error', |
||||
|
message: '@ViewBag.ResponseMessage' |
||||
|
}); |
||||
|
} |
||||
|
else { |
||||
|
iziToast.success({ |
||||
|
title: 'OK', |
||||
|
message: '@ViewBag.ResponseMessage' |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
}); |
||||
|
|
||||
|
function VerifyOtp() { |
||||
|
let email = $('#Email').val(); |
||||
|
let otp = $('#otp').val(); |
||||
|
|
||||
|
let Data = { |
||||
|
|
||||
|
Email: email, |
||||
|
otp: otp, |
||||
|
|
||||
|
}; |
||||
|
|
||||
|
$.ajax( |
||||
|
{ |
||||
|
|
||||
|
type: 'POST', |
||||
|
url: '/Account/VerifyOtp', |
||||
|
data: Data, |
||||
|
processData: true, |
||||
|
headers: { |
||||
|
"RequestVerificationToken": |
||||
|
$('input[name="__RequestVerificationToken"]').val() |
||||
|
}, |
||||
|
async: true, |
||||
|
success: function (response) { |
||||
|
|
||||
|
if (response.errorCode == 0) { |
||||
|
ShowAlertMessage(response.errorCode, response.msg); |
||||
|
window.location.replace("/home"); |
||||
|
|
||||
|
} |
||||
|
else { |
||||
|
debugger |
||||
|
ShowAlertMessage(response.errorCode, response.msg); |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
error: function () { |
||||
|
ShowAlertMessage(response.errorCode, response.msg); |
||||
|
} |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
function CancelVerification() { |
||||
|
let confirmAction = confirm("Are you sure logout?"); |
||||
|
if (confirmAction) { |
||||
|
window.location.replace("/Home/Logout"); |
||||
|
} else { |
||||
|
// alert("Action canceled"); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
</script> |
||||
|
</body> |
||||
|
</html> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue