/// <summary> /// Only for some token functions with Allow Anonymous attribute and without ValidateOtpFilter filter (Seting header values and authorize customer in cache) /// </summary> private void AuthorizeAnonymousMethods(ulong CustomerNumber, string sessionId, int userId, string userName) { byte language = 1; SourceType sourceType = SourceType.MobileBanking; //Լեզու if (!string.IsNullOrEmpty(Request.Headers["language"])) { byte.TryParse(Request.Headers["language"], out language); } //Տվյալների մուտքագրման աղբյուր if (!string.IsNullOrEmpty(Request.Headers["SourceType"])) { Enum.TryParse(Request.Headers["SourceType"], out sourceType); } AuthorizedCustomer authorizedCustomer = new AuthorizedCustomer() { CustomerNumber = CustomerNumber, UserId = userId, SessionID = sessionId, UserName = userName }; _cache.Set(sessionId + "_authorizedCustomer", authorizedCustomer); _cache.Set(sessionId + "_Language", language); _cache.Set(sessionId + "_SourceType", sourceType); _cache.Set(sessionId + "_ClientIp", Request.HttpContext.Connection.RemoteIpAddress.ToString()); }
internal string PrintVisaVirtualCardCondition() { AuthorizedCustomer authorizedCustomer = _cacheHelper.GetAuthorizedCustomer(); Dictionary <string, string> parameters = new Dictionary <string, string>(); parameters.Add(key: "customerNumber", value: authorizedCustomer.CustomerNumber.ToString()); return(_contractService.RenderContract("VisaVirtualCardCondition", parameters, "VisaVirtualCardCondition.pdf")); }
public IActionResult SaveAndApproveTokenDeactivationOrder([FromBody] TokenOperationRequest request) { if (ModelState.IsValid) { SingleResponse <long> response = new SingleResponse <long>(); HBToken hBToken = new HBToken(); ActionResult result = new ActionResult(); AuthorizedCustomer authorizedCustomer = _cacheHelper.GetAuthorizedCustomer(); _xBService.Use(client => { hBToken = client.GetHBTokenWithSerialNumberAsync(request.TokenSerial).Result; }); if (hBToken == null) { byte language = 1; //Լեզու if (!string.IsNullOrEmpty(Request.Headers["language"])) { byte.TryParse(Request.Headers["language"], out language); } result.ResultCode = ResultCode.ValidationError; response.Description = (Languages)language == Languages.hy ? "Տվյալ համարով տոկեն գոյություն չունի։" : "Token not exist."; } else { //string sessionId = Guid.NewGuid().ToString(); //AuthorizeAnonymousMethods(hBToken.HBUser.CustomerNumber, sessionId, hBToken.HBUser.ID, hBToken.HBUser.UserName); //Request.Headers.Add("SessionId", sessionId); HBServletRequestOrder hBServletRequestOrder = new HBServletRequestOrder { RegistrationDate = DateTime.Now, OperationDate = _xBService.GetCurrentOperDay(), ServletAction = HBServletAction.DeactivateToken, Type = OrderType.HBServletRequestTokenDeactivationOrder, SubType = 1, CustomerNumber = authorizedCustomer.CustomerNumber, ServletRequest = null, HBtoken = hBToken, Source = SourceType.MobileBanking, FilialCode = 22000 }; ActionResult saveActionResult = _xBService.SaveAndApproveTokenOrder(hBServletRequestOrder); response.ResultCode = ResultCodeFormatter.FromPersonalAccountSecurityService(saveActionResult.ResultCode); response.Result = saveActionResult.Id; response.Description = utils.GetActionResultErrors(saveActionResult.Errors); } return(ResponseExtensions.ToHttpResponse(response)); } else { return(ValidationError.GetValidationErrorResponse(ModelState)); } }
public override void OnActionExecuting(ActionExecutingContext context) { AuthorizedCustomer authorizedCustomer = _cacheHelper.GetAuthorizedCustomer(); if (_cacheHelper.GetSourceType() == XBS.SourceType.AcbaOnline && authorizedCustomer.SecondConfirm == 1) { bool isValid; ApproveIdRequest request = null; ProductIdApproveRequest requestProductId = null; OrderRejectionRequest rejectionRequest = null; RemovalOrderRequest removalOrderRequest = null; string OTP = ""; foreach (var argument in context.ActionArguments.Values.Where(v => v is ApproveIdRequest)) { request = argument as ApproveIdRequest; OTP = request.OTP; break; } foreach (var argument in context.ActionArguments.Values.Where(v => v is OrderRejectionRequest)) { rejectionRequest = argument as OrderRejectionRequest; OTP = rejectionRequest.OTP; break; } foreach (var argument in context.ActionArguments.Values.Where(v => v is RemovalOrderRequest)) { removalOrderRequest = argument as RemovalOrderRequest; OTP = removalOrderRequest.OTP; break; } foreach (var argument in context.ActionArguments.Values.Where(v => v is ProductIdApproveRequest)) { requestProductId = argument as ProductIdApproveRequest; OTP = request.OTP; break; } isValid = _xbSecurity.ValidateOTP(context.HttpContext.Request.Headers["SessionId"], OTP, _cacheHelper.GetClientIp(), _cacheHelper.GetLanguage()); if (!isValid) { Response response = new Response(); response.ResultCode = ResultCodes.validationError; response.Description = (Languages)_cacheHelper.GetLanguage() == Languages.hy ? "Սխալ թվային կոդ։" : "Incorrect OTP code."; context.Result = ResponseExtensions.ToHttpResponse(response); } } }
public override void OnActionExecuting(ActionExecutingContext context) { AuthorizedCustomer authorizedCustomer = _cacheHelper.GetAuthorizedCustomer(); if (authorizedCustomer.Permission != 5 && authorizedCustomer.Permission != 3) { Response response = new Response(); response.ResultCode = ResultCodes.validationError; response.Description = authorizedCustomer.UserName + _localizer[" օգտագործողը չունի մուտքագրման իրավունք"]; context.Result = ResponseExtensions.ToHttpResponse(response); } }
#pragma warning disable IDE0060 // Remove unused parameter public async Task <IActionResult> GetCustomerActiveTokens([FromBody] TokenOperationRequest request) #pragma warning restore IDE0060 // Remove unused parameter { SingleResponse <CustomerTokenResponse> response = new SingleResponse <CustomerTokenResponse>() { ResultCode = ResultCodes.normal }; byte language = 1; if (!string.IsNullOrEmpty(Request.Headers["language"])) { byte.TryParse(Request.Headers["language"], out language); } AuthorizedCustomer authorizedCustomer = _cacheHelper.GetAuthorizedCustomer(); List <HBToken> hBTokens = new List <HBToken>(); HBUser hBUser = new HBUser(); Task <List <HBToken> > hBTokensTask = null; Task <HBUser> hBUserTask = null; _xBService.Use(client => { hBTokensTask = client.GetFilteredHBTokensAsync(authorizedCustomer.UserId, HBTokenQuality.Active); }); _xBService.Use(client => { hBUserTask = client.GetHBUserAsync(authorizedCustomer.UserId); }); hBUser = await hBUserTask; hBTokens = await hBTokensTask; if ((hBTokens?.Count ?? 0) == 0) { response.ResultCode = ResultCodes.validationError; response.Description = (Languages)language == Languages.hy ? "Փոխարինման հայտը հնարավոր չէ ուղարկել: Խնդրում ենք դիմել Բանկ:" : "Can't send replacement request. Please contact the Bank."; return(ResponseExtensions.ToHttpResponse(response)); } response.Result = new CustomerTokenResponse { IsNewHbUser = hBUser.IsCas, Tokens = new List <CustomerToken>() }; foreach (var token in hBTokens) { response.Result.Tokens.Add(new CustomerToken { TokenSerial = token.TokenNumber, DeviceTypeDescription = token.DeviceTypeDescription }); } return(ResponseExtensions.ToHttpResponse(response)); }
public override void OnActionExecuting(ActionExecutingContext context) { long id = 0; ApproveIdRequest request = null; OrderRejectionRequest rejectionRequest = null; RemovalOrderRequest removalOrderRequest = null; OrderType orderType = OrderType.NotDefined; foreach (var argument in context.ActionArguments.Values.Where(v => v is ApproveIdRequest)) { request = argument as ApproveIdRequest; id = request.Id; break; } foreach (var argument in context.ActionArguments.Values.Where(v => v is OrderRejectionRequest)) { rejectionRequest = argument as OrderRejectionRequest; id = rejectionRequest.OrderRejection.OrderId; break; } foreach (var argument in context.ActionArguments.Values.Where(v => v is RemovalOrderRequest)) { removalOrderRequest = argument as RemovalOrderRequest; id = removalOrderRequest.Order.RemovingOrderId; orderType = OrderType.RemoveTransaction; break; } AuthorizedCustomer authorizedCustomer = _cacheHelper.GetAuthorizedCustomer(); if ((!_xbService.IsAbleToChangeQuality(authorizedCustomer.UserName, (int)id) && orderType != OrderType.RemoveTransaction) || (authorizedCustomer.Permission != 3 && authorizedCustomer.Permission != 2) || (orderType == OrderType.RemoveTransaction && !authorizedCustomer.IsLastConfirmer)) { Response response = new Response(); byte language = _cacheHelper.GetLanguage() == 0 ? (byte)2 : (byte)1; response.ResultCode = ResultCodes.validationError; response.Description = _xbService.GetTerm(1689, null, (Languages)language); context.Result = ResponseExtensions.ToHttpResponse(response); } }
public IActionResult SaveNotificationToken(NotificationTokenRequest request) { var response = new SingleResponse <long>() { ResultCode = ResultCodes.normal }; AuthorizedCustomer authorizedCustomer = _cacheHelper.GetAuthorizedCustomer(); if (request?.Token != null) { request.Token.CustomerType = (byte)authorizedCustomer.TypeOfClient; request.Token.CustomerNumber = authorizedCustomer.CustomerNumber; request.Token.UserId = authorizedCustomer.UserId; PushNotificationService.ActionResult saveResult = _xbSecurityPushNotificationService.SaveNotificationToken(request.Token); response.ResultCode = ResultCodeFormatter.FromPushNotificationService(saveResult.ActionResultCode); } else { response.ResultCode = ResultCodes.failed; } return(ResponseExtensions.ToHttpResponse(response)); }
public string GetCurrentAccountContractBefore(long docId) { string result = null; AccountOrder order = new AccountOrder(); AuthorizedCustomer authorizedCustomer = _cacheHelper.GetAuthorizedCustomer(); int fillialCode = _cacheHelper.GetAuthorizedCustomer().BranchCode; order = _xBService.GetAccountOrder(docId); Dictionary <string, string> parameters = new Dictionary <string, string>(); parameters.Add(key: "customerNumber", value: authorizedCustomer.CustomerNumber.ToString()); parameters.Add(key: "HbDocID", value: docId.ToString()); parameters.Add(key: "currencyHB", value: order.Currency); parameters.Add(key: "reopen", value: "0"); parameters.Add(key: "armNumber", value: "0"); parameters.Add(key: "armNumberStr", value: "0"); parameters.Add(key: "accountTypeHB", value: (order.AccountType - 1).ToString()); parameters.Add(key: "thirdPersonCustomerNumberHB", value: "0"); parameters.Add(key: "filialCode", value: fillialCode.ToString()); parameters.Add(key: "receiveTypeHB", value: order.StatementDeliveryType.ToString()); result = _contractService.RenderContract("CurrentAccContract", parameters, "CurrentAccContract.pdf"); return(result); }
public IActionResult ApproveLoanProductOrder(ApproveLoanProductOrderRequest request) { if (ModelState.IsValid) { var response = new SingleResponse <long>() { ResultCode = ResultCodes.normal }; LoanProductOrder order = new LoanProductOrder(); AuthorizedCustomer authorizedCustomer = _cacheHelper.GetAuthorizedCustomer(); if (request.ProductType == 1) { order = _xbService.GetLoanOrder(request.Id); } if (request.ProductType == 2) { order = _xbService.GetCreditLineOrder(request.Id); } if (request.ProductType == 3) { order = _xbService.GetCreditLineOrder(request.Id); } ActionResult saveResult = _xbService.ApproveLoanProductOrder(order); response.ResultCode = ResultCodeFormatter.FromPersonalAccountSecurityService(saveResult.ResultCode); response.Result = saveResult.Id; response.Description = utils.GetActionResultErrors(saveResult.Errors); return(ResponseExtensions.ToHttpResponse(response)); } else { return(ValidationError.GetValidationErrorResponse(ModelState)); } }
public void OnAuthorization(AuthorizationFilterContext context) { Response response = new Response(); AuthorizedCustomer authorizedCustomer = new AuthorizedCustomer(); string sessionId = ""; byte language = 0; string ipAddress; SourceType sourceType = SourceType.NotSpecified; if (context.Filters.Any(item => item is IAllowAnonymousFilter)) { return; } //Սեսիայի նունականացման համար if (!string.IsNullOrEmpty(context.HttpContext.Request.Headers["SessionId"])) { sessionId = context.HttpContext.Request.Headers["SessionId"]; } //Լեզու if (!string.IsNullOrEmpty(context.HttpContext.Request.Headers["language"])) { byte.TryParse(context.HttpContext.Request.Headers["language"], out language); } //Տվյալների մուտքագրման աղբյուր if (!string.IsNullOrEmpty(context.HttpContext.Request.Headers["SourceType"])) { SourceType.TryParse(context.HttpContext.Request.Headers["SourceType"], out sourceType); } //IP հասցե ipAddress = context.HttpContext.Connection.RemoteIpAddress.ToString(); if (sessionId == "ba0f312d-8487-445e-aee2-d5877ac1d4de" && Convert.ToBoolean(_config["TestVersion"])) { authorizedCustomer = _xbService.GetTestMobileBankingUser(); authorizedCustomer.CustomerNumber = Convert.ToUInt64(context.HttpContext.Request.Headers["customerNumber"]); authorizedCustomer.IsEmployee = _xbService.IsEmployee(authorizedCustomer.CustomerNumber); if (authorizedCustomer.CustomerNumber == 0) { authorizedCustomer.CustomerNumber = 1111; } _cache.Set(sessionId + "_ClientIp", "169.169.169.166"); _cache.Set(sessionId + "_Language", language); _cache.Set(sessionId + "_authorizedCustomer", authorizedCustomer); _cache.Set(sessionId + "_SourceType", sourceType); authorizedCustomer.UserId = 55; if (authorizedCustomer.LimitedAccess != 0) { _cache.Set(sessionId + "_userProductPermission", _xbService.GetUserProductsPermissions(authorizedCustomer.UserName)); } } else { if (sessionId != "") { OnlineBankingUser onlineUserData = new OnlineBankingUser(); onlineUserData = _xbSecurityService.CheckAuthorization(sessionId, language); if (onlineUserData.AuthorizationResult.IsAuthorized) { authorizedCustomer.CustomerNumber = ulong.Parse(onlineUserData.CustomerNumber); authorizedCustomer.UserName = onlineUserData.UserName; authorizedCustomer.UserId = onlineUserData.UserID; authorizedCustomer.DailyTransactionsLimit = onlineUserData.DailyTransactionsLimit; authorizedCustomer.OneTransactionLimit = onlineUserData.OneTransactionLimit; _cache.Set(sessionId + "_ClientIp", ipAddress); authorizedCustomer.ApprovementScheme = short.Parse(onlineUserData.ApprovementScheme.ToString()); authorizedCustomer.LimitedAccess = onlineUserData.LimitedAccess; authorizedCustomer.TypeOfClient = onlineUserData.TypeOfClient; authorizedCustomer.Permission = onlineUserData.Permission; authorizedCustomer.SecondConfirm = onlineUserData.SecondConfirm; authorizedCustomer.IsLastConfirmer = onlineUserData.IsLastConfirmer; authorizedCustomer.BranchCode = onlineUserData.BranchCode; authorizedCustomer.IsEmployee = _xbService.IsEmployee(authorizedCustomer.CustomerNumber); _cache.Set(sessionId + "_Language", language); if (authorizedCustomer.LimitedAccess != 0) { List <HBProductPermission> _userProductPermission = _xbService.GetUserProductsPermissions(authorizedCustomer.UserName); _cache.Set(sessionId + "_userProductPermission", _xbService.GetUserProductsPermissions(authorizedCustomer.UserName)); } _cache.Set(sessionId + "_authorizedCustomer", authorizedCustomer); _cache.Set(sessionId + "_SourceType", sourceType); } else { response.ResultCode = ResultCodes.notAuthorized; context.Result = ResponseExtensions.ToHttpResponse(response); } } else { response.ResultCode = ResultCodes.notAuthorized; context.Result = ResponseExtensions.ToHttpResponse(response); } } }
public async Task <SingleResponse <byte[]> > PrintExchangeOrderStatement(long id, int lang, PaymentOrder paymentOrder, string exportFormat = "pdf") { SingleResponse <byte[]> response = new SingleResponse <byte[]>(); byte convType = paymentOrder.SubType; string report = ""; Dictionary <string, string> parameters = new Dictionary <string, string>(); report = paymentOrder.SubType == 3 ? "Cross_Convertation_NonCash" : "Convertation_NonCash"; parameters.Add(key: "User", value: ""); parameters.Add(key: "nn", value: paymentOrder.Id.ToString()); parameters.Add(key: "Filial_code", value: paymentOrder.FilialCode.ToString()); parameters.Add(key: "customer_number", value: paymentOrder.CustomerNumber.ToString()); parameters.Add(key: "purpose", value: paymentOrder.Description); parameters.Add(key: "customer_debit_account", value: paymentOrder.DebitAccount.AccountNumber); parameters.Add(key: "customer_credit_account", value: paymentOrder.ReceiverAccount.AccountNumber); if (convType != 3) { parameters.Add(key: "amount", value: convType == 2 ? paymentOrder.Amount.ToString() : (paymentOrder.Amount * paymentOrder.ConvertationRate).ToString()); parameters.Add(key: "currency", value: paymentOrder.ReceiverAccount.Currency); parameters.Add(key: "exch_rate", value: paymentOrder.ConvertationRate.ToString()); parameters.Add(key: "amount_exch", value: convType == 2 ? (paymentOrder.Amount * paymentOrder.ConvertationRate).ToString() : paymentOrder.Amount.ToString()); parameters.Add(key: "currency_exch", value: paymentOrder.DebitAccount.Currency); parameters.Add(key: "oper", value: convType == 2 ? "Առք" : "Վաճառք"); parameters.Add(key: "fileName", value: "Convertation_NonCash"); parameters.Add(key: "transaction_purpose", value: "Ներբանկային փոխարկման հայտ"); parameters.Add(key: "transaction_purpose1", value: "Արտարժույթի առք ու վաճառքի գործառնությունների վերաբերյալ"); parameters.Add(key: "Hb_quality", value: ((int)paymentOrder.Quality).ToString()); if (!String.IsNullOrEmpty(paymentOrder.ConfirmationDate.ToString())) { parameters.Add(key: "Hb_confirmation_date", value: paymentOrder.ConfirmationDate.Value.Date.ToString("dd/MM/yy")); } } else { parameters.Add(key: "amount_buy", value: paymentOrder.Amount.ToString()); parameters.Add(key: "currency_buy", value: paymentOrder.ReceiverAccount.Currency); parameters.Add(key: "kurs_buy", value: paymentOrder.ConvertationRate.ToString()); parameters.Add(key: "amount_sell", value: (paymentOrder.Amount * paymentOrder.ConvertationRate / paymentOrder.ConvertationRate1).ToString()); parameters.Add(key: "currency_sell", value: paymentOrder.ReceiverAccount.Currency); parameters.Add(key: "Kurs_sell", value: paymentOrder.ConvertationRate1.ToString()); parameters.Add(key: "diff_inAMD", value: ((paymentOrder.Amount * paymentOrder.ConvertationRate / paymentOrder.ConvertationRate1) - paymentOrder.Amount * paymentOrder.ConvertationRate1).ToString()); parameters.Add(key: "cross_kurs", value: paymentOrder.ConvertationCrossRate.ToString()); parameters.Add(key: "cred_acc_descr", value: " "); parameters.Add(key: "quality", value: paymentOrder.Quality.ToString()); if (!String.IsNullOrEmpty(paymentOrder.ConfirmationDate.ToString())) { parameters.Add(key: "confirm_date", value: paymentOrder.ConfirmationDate.Value.Date.ToString("dd/MM/yy")); } parameters.Add(key: "DocID", value: id.ToString()); } parameters.Add(key: "Hb_Doc_ID", value: id.ToString()); if (convType != 3) { parameters.Add(key: "Hb_time", value: paymentOrder.ConfirmationDate.Value.TimeOfDay.ToString()); parameters.Add(key: "Hb_send_date", value: paymentOrder.ConfirmationDate.Value.Date.ToString("dd/MM/yy")); } else { parameters.Add(key: "ConfirmDateText", value: paymentOrder.ConfirmationDate.ToString() + ", " + paymentOrder.RegistrationTime); parameters.Add(key: "SentDate", value: paymentOrder.ConfirmationDate.Value.Date.ToString("dd/MM/yy")); } AuthorizedCustomer authorizedCustomer = _cacheHelper.GetAuthorizedCustomer(); CustomerMainData customerData = _xBService.GetCustomerMainData(authorizedCustomer.CustomerNumber); parameters.Add(key: "seria", value: _xBInfoService.GetCurrencyLetter(paymentOrder.ReceiverAccount.Currency, convType)); Dictionary <string, string> customerDetails = new Dictionary <string, string>(); customerDetails = _xBService.GetOrderDetailsForReport(id); parameters.Add(key: "Customer_Info", value: customerData.CustomerDescription); parameters.Add(key: "Customer_address", value: customerDetails["cust_adress"]); parameters.Add(key: "cust_pass", value: customerDetails["passport_number"] + " " + customerDetails["passport_inf"] + " " + customerDetails["passport_date"]); response.Result = await _reportService.RenderReport($"/{_reportName}/{report}", parameters, ReportService.GetExportFormatEnumeration(exportFormat), $"{report}"); response.ResultCode = ResultCodes.normal; return(response); }
public async Task <SingleResponse <byte[]> > PrintTransfersAcbaStatement(long id, int lang, string exportFormat = "pdf") { SingleResponse <byte[]> response = new SingleResponse <byte[]>(); PaymentOrder paymentOrder = _xBService.GetPaymentOrder(id); switch (paymentOrder.Type) { case XBS.OrderType.Convertation: return(PrintExchangeOrderStatement(id, lang, paymentOrder, exportFormat).Result); } if (paymentOrder.Quality == OrderQuality.Completed) { string policeCode = ""; string description = paymentOrder.Description; long policeResponseDetailsId = 0; int regCode = 0; if (!String.IsNullOrEmpty(paymentOrder.CreditCode)) { description += ", " + paymentOrder.CreditCode + ", " + paymentOrder.Borrower + ", " + paymentOrder.MatureTypeDescription; } if (paymentOrder.Type == OrderType.RATransfer) { BudgetPaymentOrder budgetPaymentOrder = new BudgetPaymentOrder(); if (paymentOrder.SubType != 5 && paymentOrder.SubType != 6) //ՀՀ տարածքում / Հաշիվների միջև { paymentOrder = _xBService.GetPaymentOrder(id); } else //Բյուջե / Ճանապարհային Ոստիկանություն փոխանցում { budgetPaymentOrder = _xBService.GetBudgetPaymentOrder(id); paymentOrder = budgetPaymentOrder; policeCode = budgetPaymentOrder.PoliceCode == 0 ? "" : budgetPaymentOrder.PoliceCode.ToString(); policeResponseDetailsId = budgetPaymentOrder.PoliceResponseDetailsId; regCode = budgetPaymentOrder.LTACode; } } AuthorizedCustomer authorizedCustomer = _cacheHelper.GetAuthorizedCustomer(); CustomerMainData customerData = _xBService.GetCustomerMainData(authorizedCustomer.CustomerNumber); Dictionary <string, string> parameters = new Dictionary <string, string>(); string sentTime = _xBService.GetInternationalTransferSentTime((int)id); parameters.Add(key: "cred_acc", value: paymentOrder.ReceiverAccount.AccountNumber + policeCode); parameters.Add(key: "deb_acc", value: paymentOrder.DebitAccount.AccountNumber.ToString()); parameters.Add(key: "deb_bank", value: paymentOrder.DebitAccount.AccountNumber.Substring(0, 5).ToString()); parameters.Add(key: "reg_date", value: paymentOrder.OperationDate.Value.ToString("dd/MMM/yyyy")); parameters.Add(key: "lang_id", value: lang.ToString()); parameters.Add(key: "credit_bank", value: paymentOrder.ReceiverAccount.AccountNumber.Substring(0, 5)); parameters.Add(key: "amount", value: paymentOrder.Amount.ToString()); parameters.Add(key: "currency", value: paymentOrder.Currency.ToString()); parameters.Add(key: "descr", value: description); parameters.Add(key: "confirm_date", value: paymentOrder.ConfirmationDate.Value.ToString("dd/MMM/yyyy")); parameters.Add(key: "for_HB", value: "1"); parameters.Add(key: "doc_id", value: id.ToString()); parameters.Add(key: "document_number", value: paymentOrder.OrderNumber.ToString()); parameters.Add(key: "reciever", value: paymentOrder.Receiver != null ? paymentOrder.Receiver : ""); if (paymentOrder.CreditorDescription != null) { description += ", " + paymentOrder.CreditorDescription; parameters.Add(key: "debtor_Name", value: paymentOrder.CreditorDescription); } if (paymentOrder.CreditorDocumentNumber != null) { if (paymentOrder.CreditorDocumentType == 1) { description += ", ՀԾՀ " + paymentOrder.CreditorDocumentNumber; parameters.Add(key: "debtor_soccard", value: paymentOrder.CreditorDocumentNumber); } else if (paymentOrder.CreditorDocumentType == 2) { description += ", Պարտատիրոջ ՀԾՀ չստանալու մասին տեղեկանքի համար " + paymentOrder.CreditorDocumentNumber; parameters.Add(key: "debtor_soccard", value: paymentOrder.CreditorDocumentNumber); } else if (paymentOrder.CreditorDocumentType == 3) { description += ", Անձնագիր " + paymentOrder.CreditorDocumentNumber; } else if (paymentOrder.CreditorDocumentType == 4) { description += ", ՀՎՀՀ " + paymentOrder.CreditorDocumentNumber; parameters.Add(key: "debtor_code_of_tax", value: paymentOrder.CreditorDocumentNumber); } } if (paymentOrder.CreditorDeathDocument != null) { description += ", Մահվան վկայական " + paymentOrder.CreditorDeathDocument; } if (paymentOrder.Fees != null) { if (paymentOrder.Fees.Exists(m => m.Type == 20 || m.Type == 5)) { double transferFee = paymentOrder.Fees.Find(m => m.Type == 20 || m.Type == 5).Amount; parameters.Add(key: "commission", value: transferFee.ToString()); } } parameters.Add(key: "TransactionTime", value: sentTime); parameters.Add(key: "print_soc_card", value: customerData.CustomerType == 6 ? "True" : "False"); parameters.Add(key: "is_copy", value: "False"); parameters.Add(key: "reciever_tax_code", value: ""); parameters.Add(key: "reg_code", value: regCode.ToString()); parameters.Add(key: "cust_name", value: customerData.CustomerDescription); if (customerData.CustomerType != 6) { parameters.Add(key: "tax_code", value: customerData.TaxCode); } parameters.Add(key: "quality", value: ((short)paymentOrder.Quality).ToString()); parameters.Add(key: "police_code", value: policeResponseDetailsId.ToString()); response.Result = await _reportService.RenderReport($"/{_reportName}/Payment_order", parameters, ReportService.GetExportFormatEnumeration(exportFormat), "Payment_order"); } else { paymentOrder.Description = "Հայտը կատարված չէ։"; } response.ResultCode = ResultCodes.normal; return(response); }
public async Task <SingleResponse <byte[]> > PrintUtilitylOrder(long orderId) { SingleResponse <byte[]> response = new SingleResponse <byte[]>(); List <KeyValuePair <string, string> > parametersForReport = new List <KeyValuePair <string, string> >(); UtilityPaymentOrder paymentOrder = new UtilityPaymentOrder(); AuthorizedCustomer authorizedCustomer = _cacheHelper.GetAuthorizedCustomer(); paymentOrder = _xBService.GetUtilityPaymentOrder(orderId); if (paymentOrder.Quality != OrderQuality.Completed) { response.ResultCode = ResultCodes.failed; response.Description = "Գործարքը կատարված չէ։"; return(response); } parametersForReport = _xBService.GetCommunalReportParametersIBanking(orderId, paymentOrder.CommunalType); switch (paymentOrder.CommunalType) { case XBS.CommunalTypes.ENA: { Dictionary <string, string> parameters = new Dictionary <string, string>(); parameters.Add(key: "DocID", value: paymentOrder.Id.ToString()); parameters.Add(key: "FilialCode", value: paymentOrder.FilialCode.ToString()); parameters.Add(key: "OrderNum", value: paymentOrder.OrderNumber.ToString()); parameters.Add(key: "RePrint", value: "1"); parameters.Add(key: "Cash", value: "0"); parameters.Add(key: "F_J", value: (paymentOrder.AbonentType == 1 ? "F" : "J")); parameters.Add(key: "Branch", value: paymentOrder.Branch.ToString()); foreach (KeyValuePair <string, string> oneParameter in parametersForReport) { parameters.Add(key: oneParameter.Key, value: oneParameter.Value); } response.Result = await _reportService.RenderReport($"/{_reportName}/ElentricityPaymentReportPlPor", parameters, ExportFormat.PDF, "ElectricityPaymentReport"); response.ResultCode = ResultCodes.normal; break; } case XBS.CommunalTypes.Gas: { Dictionary <string, string> parameters = new Dictionary <string, string>(); parameters.Add(key: "Cash", value: "0"); parameters.Add(key: "RePrint", value: "1"); foreach (KeyValuePair <string, string> oneParameter in parametersForReport) { parameters.Add(key: oneParameter.Key, value: oneParameter.Value); } response.Result = await _reportService.RenderReport($"/{_reportName}/GasProm_Payment_Report_Pl_Por", parameters, ExportFormat.PDF, "GasPromPaymentReport"); response.ResultCode = ResultCodes.normal; break; } case XBS.CommunalTypes.ArmWater: { XBS.CustomerMainData customerData = _xBService.GetCustomerMainData(authorizedCustomer.CustomerNumber); string fullName = customerData.CustomerDescription; Dictionary <string, string> parameters = new Dictionary <string, string>(); parameters.Add(key: "Cash", value: "0"); parameters.Add(key: "RePrint", value: "1"); parameters.Add(key: "PayerName", value: fullName); parameters.Add(key: "DebetAccount", value: paymentOrder.DebitAccount.AccountNumber); foreach (KeyValuePair <string, string> oneParameter in parametersForReport) { parameters.Add(key: oneParameter.Key, value: oneParameter.Value); } response.Result = await _reportService.RenderReport($"/{_reportName}/ArmWater_Payment_Report_Pl_Por", parameters, ExportFormat.PDF, "ArmWaterPaymentReport"); response.ResultCode = ResultCodes.normal; break; } case XBS.CommunalTypes.YerWater: { XBS.CustomerMainData customerData = _xBService.GetCustomerMainData(authorizedCustomer.CustomerNumber); string fullName = customerData.CustomerDescription; Dictionary <string, string> parameters = new Dictionary <string, string>(); parameters.Add(key: "Cash", value: "0"); parameters.Add(key: "RePrint", value: "1"); parameters.Add(key: "PayerName", value: fullName); parameters.Add(key: "DebetAccount", value: paymentOrder.DebitAccount.AccountNumber); parameters.Add(key: "OrderNumber", value: paymentOrder.OrderNumber); foreach (KeyValuePair <string, string> oneParameter in parametersForReport) { parameters.Add(key: oneParameter.Key, value: oneParameter.Value); } response.Result = await _reportService.RenderReport($"/{_reportName}/VeoliaJur_Payment_Report_Pl_Por", parameters, ExportFormat.PDF, "VeoliaJurPaymentReport"); response.ResultCode = ResultCodes.normal; break; } case XBS.CommunalTypes.ArmenTel: { Dictionary <string, string> parameters = new Dictionary <string, string>(); parameters.Add(key: "Cash", value: "0"); parameters.Add(key: "RePrint", value: "1"); foreach (KeyValuePair <string, string> oneParameter in parametersForReport) { parameters.Add(key: oneParameter.Key, value: oneParameter.Value); } response.Result = await _reportService.RenderReport($"/{_reportName}/Armentel_Payment_Report_Pl_Por", parameters, ExportFormat.PDF, "ArmentelPaymentReport"); response.ResultCode = ResultCodes.normal; break; } case XBS.CommunalTypes.VivaCell: { Dictionary <string, string> parameters = new Dictionary <string, string>(); parameters.Add(key: "Cash", value: "0"); parameters.Add(key: "RePrint", value: "1"); foreach (KeyValuePair <string, string> oneParameter in parametersForReport) { parameters.Add(key: oneParameter.Key, value: oneParameter.Value); } response.Result = await _reportService.RenderReport($"/{_reportName}/VivaCell_Payment_Report_Pl_Por", parameters, ExportFormat.PDF, "VivaCellPaymentReport"); response.ResultCode = ResultCodes.normal; break; } case XBS.CommunalTypes.Orange: { XBS.CustomerMainData customerData = _xBService.GetCustomerMainData(authorizedCustomer.CustomerNumber); string fullName = customerData.CustomerDescription; Dictionary <string, string> parameters = new Dictionary <string, string>(); parameters.Add(key: "Cash", value: "0"); parameters.Add(key: "RePrint", value: "1"); parameters.Add(key: "eFOCode", value: "eFO 75-00-87/1#3"); parameters.Add(key: "AmountCurrency", value: "AMD"); foreach (KeyValuePair <string, string> oneParameter in parametersForReport) { parameters.Add(key: oneParameter.Key, value: oneParameter.Value); } response.Result = await _reportService.RenderReport($"/{_reportName}/Orange_Payment_Report_Pl_Por", parameters, ExportFormat.PDF, "OrangePaymentReport"); response.ResultCode = ResultCodes.normal; break; } case XBS.CommunalTypes.UCom: { XBS.CustomerMainData customerData = _xBService.GetCustomerMainData(authorizedCustomer.CustomerNumber); string fullName = customerData.CustomerDescription; Dictionary <string, string> parameters = new Dictionary <string, string>(); parameters.Add(key: "Cash", value: "0"); parameters.Add(key: "RePrint", value: "1"); foreach (KeyValuePair <string, string> oneParameter in parametersForReport) { parameters.Add(key: oneParameter.Key, value: oneParameter.Value); } response.Result = await _reportService.RenderReport($"/{_reportName}/UCOM_Payment_Report_Pl_Por", parameters, ExportFormat.PDF, "UCOMPaymentReport"); response.ResultCode = ResultCodes.normal; break; } default: { response.ResultCode = ResultCodes.failed; response.Description = "Կոմունալի տեսակը որոշված չէ։"; break; } } return(response); }
#pragma warning disable IDE0060 // Remove unused parameter public IActionResult SaveAndApproveNewTokenOrder([FromBody] TokenOperationRequest request) #pragma warning restore IDE0060 // Remove unused parameter { if (ModelState.IsValid) { SingleResponse <long> response = new SingleResponse <long>(); double DayLimit = 400000; double TransLimit = 400000; AuthorizedCustomer authorizedCustomer = _cacheHelper.GetAuthorizedCustomer(); ulong id = _xBInfoService.GetLastKeyNumber(22000, 74); HBApplicationOrder order = new HBApplicationOrder() { Source = SourceType.MobileBanking, HBApplication = new HBApplication(), HBApplicationUpdate = new HBApplicationUpdate { AddedItems = new List <object>(), DeactivatedItems = new List <object>(), UpdatedItems = new List <object>() } }; ActionResult result = _xBService.SaveAndApproveHBApplicationNewOrder(order, out HBToken hBToken, id, authorizedCustomer.UserId, DayLimit, TransLimit); if (result.ResultCode == (ResultCode)ResultCodes.normal) { HBServletRequestOrder hBServletRequestOrder = new HBServletRequestOrder { RegistrationDate = DateTime.Now, OperationDate = _xBService.GetCurrentOperDay(), ServletAction = HBServletAction.ActivateToken, Type = OrderType.HBServletRequestTokenActivationOrder, SubType = 1, CustomerNumber = authorizedCustomer.CustomerNumber, ServletRequest = null, Source = SourceType.MobileBanking, PhoneNumber = GetCustomerRegPhone(authorizedCustomer.CustomerNumber), HBtoken = new HBToken { TokenNumber = hBToken.TokenNumber, DayLimit = 400000, TransLimit = 400000, ID = hBToken.ID, GID = hBToken.GID, TokenType = hBToken.TokenType, HBUser = hBToken.HBUser, IsRegistered = true }, FilialCode = 22000 }; ActionResult saveActionResult = _xBService.SaveAndApproveTokenOrder(hBServletRequestOrder); if ((saveActionResult.ResultCode == ResultCode.DoneAndReturnedValues || saveActionResult.ResultCode == ResultCode.Normal) && hBToken?.HBUser?.IsCas == false) //եթե հին մոբայլի user - ը (iscas == false) ստանում է նոր տոկեն աֆտոմատ սարքում ենք նոր մոբայլի user { _xBService.MigrateOldUserToCas(hBToken.HBUser.ID); } response.ResultCode = ResultCodeFormatter.FromPersonalAccountSecurityService(saveActionResult.ResultCode); response.Result = saveActionResult.Id; response.Description = utils.GetActionResultErrors(saveActionResult.Errors); } else { response.ResultCode = ResultCodeFormatter.FromPersonalAccountSecurityService(result.ResultCode); response.Result = result.Id; response.Description = result?.Errors.Count > 0 ? _xBService.GetTerm(result?.Errors[0]?.Code ?? 0, null, Languages.hy) : default; } return(ResponseExtensions.ToHttpResponse(response)); } else { return(ValidationError.GetValidationErrorResponse(ModelState)); } }
public async Task <IActionResult> SaveAndApproveTokenReplacementOrder([FromBody] TokenOperationRequest request) { if (ModelState.IsValid) { double oldDayLimit = 400000; double oldTransLimit = 400000; if (!request.IsNewHbUser) { SingleResponse <long> response = new SingleResponse <long>(); byte language = 1; if (!string.IsNullOrEmpty(Request.Headers["language"])) { byte.TryParse(Request.Headers["language"], out language); } AuthorizedCustomer authorizedCustomer = _cacheHelper.GetAuthorizedCustomer(); ulong id = _xBInfoService.GetLastKeyNumber(22000, 74); List <HBToken> activehBTokens = new List <HBToken>(); HBApplicationOrder order = new HBApplicationOrder() { Source = SourceType.MobileBanking, HBApplication = new HBApplication(), HBApplicationUpdate = new HBApplicationUpdate { AddedItems = new List <object>(), DeactivatedItems = new List <object>(), UpdatedItems = new List <object>() } }; _xBService.Use(client => { activehBTokens = client.GetFilteredHBTokensAsync(authorizedCustomer.UserId, HBTokenQuality.Active).Result; }); oldDayLimit = (activehBTokens.OrderByDescending(x => x.ActivationDate).FirstOrDefault()?.DayLimit ?? 0) != 0 ? activehBTokens.OrderByDescending(x => x.ActivationDate).FirstOrDefault().DayLimit : 400000; oldTransLimit = (activehBTokens.OrderByDescending(x => x.ActivationDate).FirstOrDefault()?.TransLimit ?? 0) != 0 ? activehBTokens.OrderByDescending(x => x.ActivationDate).FirstOrDefault().TransLimit : 400000; ActionResult result = _xBService.SaveAndApproveHBApplicationNewOrder(order, out HBToken hBToken, id, authorizedCustomer.UserId, oldDayLimit, oldTransLimit); if (result.ResultCode == (ResultCode)ResultCodes.normal) { hBToken.HBUser.IsCas = true; HBServletRequestOrder hBServletRequestOrder = new HBServletRequestOrder { RegistrationDate = DateTime.Now, OperationDate = _xBService.GetCurrentOperDay(), ServletAction = HBServletAction.ActivateToken, Type = OrderType.HBServletRequestTokenActivationOrder, SubType = 1, CustomerNumber = authorizedCustomer.CustomerNumber, ServletRequest = null, Source = SourceType.MobileBanking, PhoneNumber = GetCustomerRegPhone(authorizedCustomer.CustomerNumber), HBtoken = new HBToken { TokenNumber = hBToken.TokenNumber, DayLimit = oldDayLimit, TransLimit = oldTransLimit, ID = hBToken.ID, GID = hBToken.GID, TokenType = hBToken.TokenType, HBUser = hBToken.HBUser, IsRegistered = true }, FilialCode = 22000 }; ActionResult saveActionResult = _xBService.SaveAndApproveTokenOrder(hBServletRequestOrder); if (saveActionResult.ResultCode == ResultCode.DoneAndReturnedValues || saveActionResult.ResultCode == ResultCode.Normal) //եթե հին մոբայլի user - ը (iscas == false) ստանում է նոր տոկեն աֆտոմատ սարքում ենք նոր մոբայլի user { _xBService.MigrateOldUserToCas(hBToken.HBUser.ID); response.ResultCode = ResultCodeFormatter.FromPersonalAccountSecurityService(saveActionResult.ResultCode); response.Result = saveActionResult.Id; response.Description = (Languages)language == Languages.hy ? "Ակտիվացման կոդը ուղարկվել է Ձեր էլ. փոստին, իսկ PIN կոդը կստանանք SMS-ի տեսքով:" : "The activation code was sent to your email. PIN code was sent by SMS."; } else { response.ResultCode = ResultCodeFormatter.FromPersonalAccountSecurityService(saveActionResult.ResultCode); response.Result = saveActionResult.Id; response.Description = saveActionResult.Errors[0].Code == 0 ? saveActionResult.Errors[0].Description : _xBService.GetTerm(saveActionResult.Errors[0].Code, null, (Languages)language); } } else { response.ResultCode = ResultCodeFormatter.FromPersonalAccountSecurityService(result.ResultCode); response.Result = result.Id; response.Description = _xBService.GetTerm(result.Errors[0].Code, null, Languages.hy); } return(ResponseExtensions.ToHttpResponse(response)); } else { SingleResponse <long> response = new SingleResponse <long>(); ActionResult result = new ActionResult(); List <HBActivationRequest> hBActivation = new List <HBActivationRequest>(); HBApplicationOrder order = new HBApplicationOrder() { Source = SourceType.MobileBanking }; HBActivationOrder hBActivationOrder = new HBActivationOrder(); List <HBToken> hBTokens = new List <HBToken>(); HBToken hBToken = new HBToken(); HBApplication hBApplication = new HBApplication(); Task <List <HBToken> > hBTokensTask = null; Task <HBToken> hBTokenTask = null; Task <HBApplication> hBApplicationTask = null; ulong id = _xBInfoService.GetLastKeyNumber(22000, 74); AuthorizedCustomer authorizedCustomer = _cacheHelper.GetAuthorizedCustomer(); byte language = 1; if (!string.IsNullOrEmpty(Request.Headers["language"])) { byte.TryParse(Request.Headers["language"], out language); } _xBService.Use(client => { hBTokensTask = client.GetFilteredHBTokensAsync(authorizedCustomer.UserId, HBTokenQuality.NotDefined); }); _xBService.Use(client => { hBTokenTask = client.GetHBTokenWithSerialNumberAsync(request.TokenSerial); }); _xBService.Use(client => { hBApplicationTask = client.GetHBApplicationAsync(); }); hBTokens = await hBTokensTask; hBApplication = await hBApplicationTask; hBToken = await hBTokenTask; oldDayLimit = (hBToken?.DayLimit ?? 0) != 0 ? hBToken.DayLimit : 400000; oldTransLimit = (hBToken?.TransLimit ?? 0) != 0 ? hBToken.TransLimit : 400000; if (authorizedCustomer.TypeOfClient != 6 && hBTokens.All(x => x.TokenType == HBTokenTypes.Token) && hBApplication?.ContractDate < new DateTime(2015, 7, 25)) // Ն-19051 { response.ResultCode = ResultCodes.validationError; response.Description = (Languages)language == Languages.hy ? "Փոխարինման հայտը հնարավոր չէ ուղարկել: Խնդրում ենք դիմել Բանկ:" : "Can't send replacement request. Please contact the Bank."; return(ResponseExtensions.ToHttpResponse(response)); } if (hBToken == null) { result.ResultCode = ResultCode.ValidationError; response.Description = (Languages)language == Languages.hy ? "Տվյալ համարով տոկեն գոյություն չունի։" : "Token not exist."; return(ResponseExtensions.ToHttpResponse(response)); } HBServletRequestOrder hBServletRequestOrder = new HBServletRequestOrder { RegistrationDate = DateTime.Now, OperationDate = _xBService.GetCurrentOperDay(), ServletAction = HBServletAction.DeactivateToken, Type = XBS.OrderType.HBServletRequestTokenDeactivationOrder, SubType = 1, CustomerNumber = authorizedCustomer.CustomerNumber, ServletRequest = null, Source = SourceType.MobileBanking, HBtoken = hBToken, FilialCode = 22000 }; ActionResult saveActionResult = _xBService.SaveAndApproveTokenOrder(hBServletRequestOrder); if (saveActionResult.ResultCode == (ResultCode)ResultCodes.normal) { result = _xBService.SaveAndApproveHBApplicationReplacmentOrder(order, ref hBToken, id, authorizedCustomer.UserId, request.TokenSerial, oldDayLimit, oldTransLimit); if (result.ResultCode == (ResultCode)ResultCodes.normal) { hBServletRequestOrder.RegistrationDate = DateTime.Now; hBServletRequestOrder.OperationDate = _xBService.GetCurrentOperDay(); hBServletRequestOrder.ServletAction = HBServletAction.ActivateToken; hBServletRequestOrder.Type = OrderType.HBServletRequestTokenActivationOrder; hBServletRequestOrder.SubType = 1; hBServletRequestOrder.Source = SourceType.MobileBanking; hBServletRequestOrder.CustomerNumber = authorizedCustomer.CustomerNumber; hBServletRequestOrder.PhoneNumber = GetCustomerRegPhone(authorizedCustomer.CustomerNumber); hBServletRequestOrder.ServletRequest = null; hBServletRequestOrder.HBtoken = new HBToken { TokenNumber = hBToken.TokenNumber, DayLimit = oldDayLimit, TransLimit = oldTransLimit, ID = hBToken.ID, GID = hBToken.GID, TokenType = hBToken.TokenType, HBUser = hBToken.HBUser, IsRegistered = true }; hBServletRequestOrder.FilialCode = 22000; ActionResult saveTokenResult = _xBService.SaveAndApproveTokenOrder(hBServletRequestOrder); if ((saveTokenResult.ResultCode == ResultCode.DoneAndReturnedValues || saveTokenResult.ResultCode == ResultCode.Normal)) //եթե հին մոբայլի user - ը (iscas == false) ստանում է նոր տոկեն աֆտոմատ սարքում ենք նոր մոբայլի user { response.ResultCode = ResultCodeFormatter.FromPersonalAccountSecurityService(saveTokenResult.ResultCode); response.Result = saveTokenResult.Id; response.Description = (Languages)language == Languages.hy ? "Ակտիվացման կոդը ուղարկվել է Ձեր էլ. փոստին, իսկ PIN կոդը կստանանք SMS-ի տեսքով:" : "The activation code was sent to your email. PIN code was sent by SMS."; } else { response.ResultCode = ResultCodeFormatter.FromPersonalAccountSecurityService(result.ResultCode); response.Result = result.Id; response.Description = _xBService.GetTerm(saveTokenResult.Errors[0].Code, null, (Languages)language); } } else { response.ResultCode = ResultCodeFormatter.FromPersonalAccountSecurityService(result.ResultCode); response.Result = result.Id; response.Description = _xBService.GetTerm(result.Errors[0].Code, null, (Languages)language); } } else { response.ResultCode = ResultCodeFormatter.FromPersonalAccountSecurityService(saveActionResult.ResultCode); response.Result = saveActionResult.Id; response.Description = _xBService.GetTerm(saveActionResult.Errors[0].Code, null, (Languages)language); } return(ResponseExtensions.ToHttpResponse(response)); } } else { return(ValidationError.GetValidationErrorResponse(ModelState)); } }
public override void OnActionExecuting(ActionExecutingContext context) { var request = context.ActionArguments["request"] as dynamic; Response response = new Response { ResultCode = ResultCodes.validationError, Description = _localizer["Մուտքագրված տվյալները սխալ են կամ ոչ լիարժեք։"] }; CustomerTokenInfo customerTokenInfo = _cacheHelper.GetCustomerTokenInfo(); if (!string.IsNullOrEmpty(context.HttpContext.Request.Headers["SessionId"]) && customerTokenInfo != null) { string sessionId = context.HttpContext.Request.Headers["SessionId"]; AuthorizedCustomer authorizedCustomer = new AuthorizedCustomer() { CustomerNumber = customerTokenInfo.CustomerNumber, UserId = customerTokenInfo.UserId, SessionID = sessionId, UserName = customerTokenInfo.UserName, }; if (customerTokenInfo.Checked == true && ((string)context.RouteData.Values["action"] == "SaveAndApproveTokenReplacementOrder" || (string)context.RouteData.Values["action"] == "SaveAndApproveTokenDeactivationOrder")) { _cache.Set(sessionId + "_authorizedCustomer", authorizedCustomer); _cache.Set(sessionId + "_Language", customerTokenInfo.Language); _cache.Set(sessionId + "_SourceType", customerTokenInfo.SourceType); _cache.Set(sessionId + "_ClientIp", context.HttpContext.Connection.RemoteIpAddress.ToString()); } else { if (!string.IsNullOrEmpty(request.Otp)) { string otp = request.Otp; if (!string.IsNullOrEmpty(sessionId) && !string.IsNullOrEmpty(otp)) { if (customerTokenInfo == null || (customerTokenInfo != null && otp != customerTokenInfo?.Otp)) { context.Result = ResponseExtensions.ToHttpResponse(response); } else { customerTokenInfo.Checked = true; _cache.Set(sessionId + "_authorizedCustomer", authorizedCustomer); _cache.Set(sessionId + "_Language", customerTokenInfo.Language); _cache.Set(sessionId + "_SourceType", customerTokenInfo.SourceType); _cache.Set(sessionId + "_ClientIp", context.HttpContext.Connection.RemoteIpAddress.ToString()); } } else { context.Result = ResponseExtensions.ToHttpResponse(response); } } else { context.Result = ResponseExtensions.ToHttpResponse(response); } } } else { context.Result = ResponseExtensions.ToHttpResponse(response); } }