public IActionResult ResetUserPassword(PasswordResetRequest request) { if (ModelState.IsValid) { SingleResponse <bool> response = new SingleResponse <bool>(); var loginInfo = new LoginInfo(); loginInfo.UserName = request.UserName; loginInfo.OTP = request.OTP; loginInfo.IpAddress = Request.HttpContext.Connection.RemoteIpAddress.ToString(); response.Result = _xbSecurity.ResetUserPassword(loginInfo); response.ResultCode = ResultCodes.normal; return(ResponseExtensions.ToHttpResponse(response)); } else { return(ValidationError.GetValidationErrorResponse(ModelState)); } }
public IActionResult GetAccounts() { if (ModelState.IsValid) { SingleResponse <List <Account> > response = new SingleResponse <List <Account> >(); response.ResultCode = ResultCodes.normal; response.Result = _xbService.GetAccounts(); Parallel.ForEach(response.Result, x => x.HasContractFile = _xbService.HasUploadedContract(x.AccountNumber, 3)); Parallel.ForEach(response.Result, m => { if (m.AccountType == 11) { m.ArcaBalance = _xbService.GetArcaBalance(m.AccountDescription.Substring(0, 16).Trim()); if (m.AccountNumber == "220000295380000" && Convert.ToBoolean(_config["TestVersion"])) { m.ArcaBalance = null; } } }); return(ResponseExtensions.ToHttpResponse(response)); } else { return(ValidationError.GetValidationErrorResponse(ModelState)); } }
public IActionResult SaveMatureOrder(MatureOrderRequest request) { if (ModelState.IsValid) { var response = new SingleResponse <long>() { ResultCode = ResultCodes.normal }; if (request.Order.Type == OrderType.LoanMature) { request.Order.Description = _xbInfoService.GetLoanMatureTypesForIBanking() .Where(x => x.Key == ((int)request.Order.MatureType) .ToString()) .First().Value; } if (request.Order.MatureType == MatureType.PartialRepayment) { request.Order.MatureType = MatureType.RepaymentByCreditCode; } ActionResult saveResult = _xbService.SaveMatureOrder(request.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 IActionResult FastOverdraftValidations(CardNumberRequest request) { if (ModelState.IsValid) { var response = new SingleResponse <long>() { ResultCode = ResultCodes.normal }; List <ActionError> result = _xbService.FastOverdraftValidations(request.CardNumber); if (result != null && result.Count > 0) { response.ResultCode = ResultCodes.failed; response.Description = utils.GetActionResultErrors(result); } else { response.ResultCode = ResultCodes.normal; } return(ResponseExtensions.ToHttpResponse(response)); } else { return(ValidationError.GetValidationErrorResponse(ModelState)); } }
public IActionResult GetPeriodicDataChangeOrder(IdRequest request) { if (ModelState.IsValid) { var authorizedCustomer = _cacheHelper.GetAuthorizedCustomer(); bool hasPermission = true; var order = _xbService.GetPeriodicDataChangeOrder(request.Id); var response = new SingleResponse <PeriodicTransferDataChangeOrder>(); if (authorizedCustomer.LimitedAccess != 0) { if (_xbService.HasProductPermission(order.DebitAccount.AccountNumber)) { hasPermission = false; response.ResultCode = ResultCodes.failed; response.Result.Description = "Տվյալները հասանելի չեն։"; } } if (hasPermission) { if (order.Quality == OrderQuality.Declined) { order.RejectReason = _xbService.GetOrderRejectReason(request.Id, order.Type); } response.Result = order; response.ResultCode = ResultCodes.normal; } return(ResponseExtensions.ToHttpResponse(response)); } else { return(ValidationError.GetValidationErrorResponse(ModelState)); } }
public IActionResult GetPeriodicTransfer(ProductIdRequest request) { if (ModelState.IsValid) { var response = new SingleResponse <PeriodicTransfer>() { ResultCode = ResultCodes.normal }; response.Result = _xbService.GetPeriodicTransfer(request.ProductId); if (response.Result != null) { if (response.Result.FeeAccount != null && (response.Result.FeeAccount.AccountNumber == "0" || response.Result.FeeAccount.AccountNumber == null)) { response.Result.FeeAccount = null; } if (response.Result.ChargeType == 0) { response.Result.ChargeType = 1; } else { response.Result.ChargeType = 2; } } return(ResponseExtensions.ToHttpResponse(response)); } else { return(ValidationError.GetValidationErrorResponse(ModelState)); } }
public IActionResult SaveUtilityPeriodicPaymentOrder(PeriodicUtilityPaymentOrderRequest request) { if (ModelState.IsValid) { var response = new SingleResponse <long>() { ResultCode = ResultCodes.normal }; ActionResult saveResult = _xbService.SaveUtilityPeriodicPaymentOrder(request.Order); response.ResultCode = ResultCodeFormatter.FromPersonalAccountSecurityService(saveResult.ResultCode); response.Result = saveResult.Id; response.Description = utils.GetActionResultErrors(saveResult.Errors); return(ResponseExtensions.ToHttpResponse(response)); } else { if (request == null) { foreach (var item in ModelState.Keys) { if (item.ToString().ToLower() == "order.CheckDaysCount".ToLower()) { return(ValidationError.GetTypeValidationErrorResponse(item, _localizer["Սխալ ստուգման օրերի քանակ"])); } } } return(ValidationError.GetValidationErrorResponse(ModelState)); } }
public IActionResult SavePeriodicDataChangeOrder(PeriodicTransferDataChangeOrderRequest request) { if (ModelState.IsValid) { var response = new SingleResponse <long>() { ResultCode = ResultCodes.normal }; if (request.Order.ChargeType == 1) { request.Order.ChargeType = 0; } else if (request.Order.ChargeType == 2) { request.Order.ChargeType = 1; } ActionResult saveResult = _xbService.SavePeriodicDataChangeOrder(request.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 IActionResult GetBudgetPaymentOrder(IdRequest request) { if (ModelState.IsValid) { var authorizedCustomer = _cacheHelper.GetAuthorizedCustomer(); bool hasPermission = true; var order = _xBService.GetBudgetPaymentOrder(request.Id); order.ReceiverAccount.AccountNumber = order.ReceiverBankCode + order.ReceiverAccount.AccountNumber; SingleResponse <BudgetPaymentOrder> response = new SingleResponse <BudgetPaymentOrder>(); response.ResultCode = ResultCodes.normal; if (authorizedCustomer.LimitedAccess != 0) { if (!_xBService.HasProductPermission(order.DebitAccount.AccountNumber) || (order.FeeAccount != null && order.FeeAccount.AccountNumber != "0" && !_xBService.HasProductPermission(order.FeeAccount.AccountNumber))) { hasPermission = false; response.ResultCode = ResultCodes.failed; response.Result.Description = "Տվյալները հասանելի չեն։"; } } if (hasPermission) { response.ResultCode = ResultCodes.normal; response.Result = order; } return(ResponseExtensions.ToHttpResponse(response)); } else { return(ValidationError.GetValidationErrorResponse(ModelState)); } }
public IActionResult SaveBudgetPaymentOrder(BudgetPaymentOrderRequest request) { if (ModelState.IsValid) { var response = new SingleResponse <long>() { ResultCode = ResultCodes.normal }; if (request.Order.ReceiverAccount.AccountNumber.StartsWith("10300")) { request.Order.ReceiverBankCode = 10300; // ոստիկանության բանկի կոդ request.Order.ReceiverAccount.AccountNumber = request.Order.ReceiverAccount.AccountNumber.Substring(5); } ActionResult saveResult = _xBService.SaveBudgetPaymentOrder(request.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 IActionResult GetMessages(MessagesRequest request) { if (ModelState.IsValid) { SingleResponse <List <Message> > response = new SingleResponse <List <Message> >(); response.ResultCode = ResultCodes.normal; response.Result = _xbService.GetMessages(request.DateFrom, request.DateTo, request.Type); if (request.Type == MessageType.Message) { response.Result.AddRange(_xbService.GetMessages(request.DateFrom, request.DateTo, MessageType.Reminder)); response.Result.AddRange(_xbService.GetMessages(request.DateFrom, request.DateTo, MessageType.TransactionRefusal)); } RegexOptions options = RegexOptions.None; Regex regex = new Regex("[ ]{2,}", options); for (int i = 0; i < response.Result.Count; i++) { response.Result[i].Description = regex.Replace(response.Result[i].Description, " "); } response.Result = response.Result.OrderByDescending(x => x.SentDate).ToList(); return(ResponseExtensions.ToHttpResponse(response)); } else { return(ValidationError.GetValidationErrorResponse(ModelState)); } }
public IActionResult GetDeposits(ProductQualityFilterRequest request) { if (ModelState.IsValid) { var authorizedCustomer = _cacheHelper.GetAuthorizedCustomer(); SingleResponse <List <Deposit> > response = new SingleResponse <List <Deposit> >() { ResultCode = ResultCodes.normal }; response.Result = _xbService.GetDeposits(request.Filter); if (authorizedCustomer.LimitedAccess != 0) { response.Result.RemoveAll(m => _xbService.HasProductPermission(m.DepositAccount.AccountNumber, (ulong)m.ProductId)); } Parallel.ForEach(response.Result, dep => { dep.ProductNote = _xbService.GetProductNote(Convert.ToDouble(dep.ProductId)); }); return(ResponseExtensions.ToHttpResponse(response)); } else { return(ValidationError.GetValidationErrorResponse(ModelState)); } }
public IActionResult GetCardsForNewCreditLine(OrderTypeRequest request) { if (ModelState.IsValid) { SingleResponse <List <Card> > response = new SingleResponse <List <Card> >(); response.Result = _xbService.GetCardsForNewCreditLine(request.OrderType); foreach (var card in response.Result) { if (card.CardNumber != null) { card.ArCaBalance = _xbService.GetArcaBalance(card.CardNumber); if (card.CardAccount.AccountNumber == "220000295380000" && Convert.ToBoolean(_config["TestVersion"])) { card.ArCaBalance = null; } } } response.ResultCode = ResultCodes.normal; return(ResponseExtensions.ToHttpResponse(response)); } else { return(ValidationError.GetValidationErrorResponse(ModelState)); } }
public IActionResult ValidateRegistrationCode([FromHeader][Required] string deviceTypeDescription, ValidateRegistrationCode request) { if (ModelState.IsValid) { var response = new SingleResponse <bool>() { ResultCode = ResultCodes.normal }; byte language = 0; //Լեզու if (!string.IsNullOrEmpty(Request.HttpContext.Request.Headers["language"])) { byte.TryParse(Request.HttpContext.Request.Headers["language"], out language); } response.Result = _xbSecurity.CheckRegistrationCode(request.RegistrationCode, deviceTypeDescription, request.UserName); if (response.Result != true) { response.ResultCode = ResultCodes.validationError; response.Description = _localizer["Մուտքագրված տվյալներ սխալ են կամ ոչ լիարժեք: Խնդրում ենք ստուգել օգտագործողի անունը և ակտիվացման կոդը։"];// "Wrong data. Please check the username and the activation code."; } return(ResponseExtensions.ToHttpResponse(response)); } else { return(ValidationError.GetValidationErrorResponse(ModelState)); } }
public IActionResult GetAccount(AccountNumberRequest request) { if (ModelState.IsValid) { SingleResponse <Account> response = new SingleResponse <Account>() { ResultCode = ResultCodes.normal }; response.Result = _xbService.GetAccount(request.AccountNumber); response.Result.HasContractFile = _xbService.HasUploadedContract(response.Result.AccountNumber, 3); var overdraft = _xbService.GetCreditLines(ProductQualityFilter.Opened) .Where(x => x.ConnectAccount.AccountNumber == response.Result.AccountNumber).ToList(); response.Result.Overdraft = overdraft.FirstOrDefault(); foreach (var item in overdraft) { if (item.Type == 25) { response.Result.Overdraft = item; } } return(ResponseExtensions.ToHttpResponse(response)); } else { return(ValidationError.GetValidationErrorResponse(ModelState)); } }
public IActionResult GetLoan(ProductIdRequest request) { if (ModelState.IsValid) { var response = new SingleResponse <Loan>() { ResultCode = ResultCodes.normal }; response.Result = _xbService.GetLoan(request.ProductId); response.Result.HasContractFile = _xbService.HasUploadedContract(response.Result.LoanAccount.AccountNumber, 0); List <ProductOtherFee> fees = new List <ProductOtherFee>(); fees = _xbService.GetProductOtherFees(response.Result.ProductId).Where(x => x.Type == 1).ToList(); if (fees.Count > 0) { response.Result.RepaymentAmount = fees[0].Amount; } return(ResponseExtensions.ToHttpResponse(response)); } else { return(ValidationError.GetValidationErrorResponse(ModelState)); } }
public IActionResult GetAvailableCardsForCreditLine(ProductQualityFilterRequest request) { if (ModelState.IsValid) { var authorizedCustomer = _cacheHelper.GetAuthorizedCustomer(); var response = new SingleResponse <List <Card> >() { ResultCode = ResultCodes.normal }; response.Result = _xbService.GetAvailableCardsForCreditLine(request.Filter); if (authorizedCustomer.LimitedAccess != 0) { response.Result.RemoveAll(m => !_xbService.HasProductPermission(m.CardAccount.AccountNumber, (ulong)m.ProductId)); } foreach (var card in response.Result) { if (card.CardNumber != null) { card.ArCaBalance = _xbService.GetArcaBalance(card.CardNumber); if (card.CardAccount.AccountNumber == "220000295380000" && Convert.ToBoolean(_config["TestVersion"])) { card.ArCaBalance = null; } } } return(ResponseExtensions.ToHttpResponse(response)); } else { return(ValidationError.GetValidationErrorResponse(ModelState)); } }
public IActionResult GetOpenedCards() { if (ModelState.IsValid) { SingleResponse <List <Card> > response = new SingleResponse <List <Card> >() { ResultCode = ResultCodes.normal }; List <Card> cards = _xbService.GetCards(ProductQualityFilter.Opened); cards.AddRange(_xbService.GetLinkedCards()); foreach (var card in cards) { card.ArCaBalance = _xbService.GetArcaBalance(card.CardNumber); if (card.CardAccount.AccountNumber == "220000295380000" && Convert.ToBoolean(_config["TestVersion"])) { card.ArCaBalance = null; } card.CVVNote = _xbService.GetCVVNote((ulong)card.ProductId); } response.Result = cards; return(ResponseExtensions.ToHttpResponse(response)); } else { return(ValidationError.GetValidationErrorResponse(ModelState)); } }
public IActionResult GetPlasticCardOrder(OrderIdRequest request) { if (ModelState.IsValid) { var response = new SingleResponse <PlasticCardOrder>() { ResultCode = ResultCodes.normal }; response.Result = _xbService.GetPlasticCardOrder(request.OrderId); if (response.Result.ServiceFeePeriodicityType == (ServiceFeePeriodicityType)_xBInfoService.GetServiceFeePeriodocityTypes()[0].Key) { response.Result.ServiceFeePeriodicityTypeDescription = _xBInfoService.GetServiceFeePeriodocityTypes()[0].Value; } else { response.Result.ServiceFeePeriodicityTypeDescription = _xBInfoService.GetServiceFeePeriodocityTypes()[1].Value; } if (response.Result.Quality == OrderQuality.Declined) { response.Result.RejectReason = _xbService.GetOrderRejectReason(request.OrderId, response.Result.Type); } response.Result.PlasticCard.ProductId = (ulong)_xbService.GetCardProductId(response.Result.PlasticCard.MainCardNumber, response.Result.CustomerNumber); return(ResponseExtensions.ToHttpResponse(response)); } else { return(ValidationError.GetValidationErrorResponse(ModelState)); } }
public IActionResult ApprovePlasticCardOrder(ApproveIdRequest request) { if (ModelState.IsValid) { var response = new SingleResponse <long>() { ResultCode = ResultCodes.normal }; PlasticCardOrder order = _cacheHelper.GetApprovalOrder <PlasticCardOrder>(request.Id); if (order.Attachments != null) { foreach (var item in order.Attachments) { item.AttachmentInBase64 = _xbService.GetOrderAttachmentInBase64(item.Id); } } ActionResult saveResult = _xbService.ApprovePlasticCardOrder(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 IActionResult UpdateCustomerAccountRestConfig(RestConfigRequest request) { if (ModelState.IsValid) { SingleResponse <long> response = new SingleResponse <long>(); var authorizedCustomer = _cacheHelper.GetAuthorizedCustomer(); request.ConfigurationItems.ForEach(item => { item.CustomerNumber = authorizedCustomer.CustomerNumber; item.DigitalUserId = authorizedCustomer.UserId; item.RegistrationDate = DateTime.Now; item.ConfigurationTypeId = 2; }); ActionResult saveResult = _xbService.UpdateCustomerAccountRestConfig(request.ConfigurationItems); 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 IActionResult GetUserInfo() { SingleResponse <AuthorizationResponse> response = new SingleResponse <AuthorizationResponse>(); string sessionId = ""; byte language = 0; //Սեսիայի նունականացման համար if (!string.IsNullOrEmpty(HttpContext.Request.Headers["SessionId"])) { sessionId = HttpContext.Request.Headers["SessionId"]; } //Լեզու if (!string.IsNullOrEmpty(HttpContext.Request.Headers["language"])) { byte.TryParse(HttpContext.Request.Headers["language"], out language); } OnlineBankingUser onlineUserData = _xbSecurityService.CheckAuthorization(sessionId, language); if (onlineUserData.AuthorizationResult.IsAuthorized) { CustomerMainData customerMainData = _xbService.GetCustomerMainData(ulong.Parse(onlineUserData.CustomerNumber)); if (customerMainData.CustomerType != 6) { var str = customerMainData.CustomerDescription; var symbols = new string[] { "«", "»" }; foreach (var s in symbols) { str = str.Replace(s, ""); } customerMainData.CustomerDescription = str; } response.Result = new AuthorizationResponse(); response.Result.SessionId = onlineUserData.SessionID; response.Result.PasswordChangeRequirement = onlineUserData.ChangeRequirement; response.Result.UserPermission = onlineUserData.Permission; response.Result.FullName = customerMainData.CustomerDescription; response.Result.FullNameEnglish = customerMainData.CustomerDescriptionEng; response.Result.IsLastConfirmer = onlineUserData.IsLastConfirmer; response.Result.CustomerType = (XBS.CustomerTypes)onlineUserData.TypeOfClient; response.Result.SecondConfirmRequirement = onlineUserData.SecondConfirm; response.Result.IsEmployee = _xbService.IsEmployee(ulong.Parse(onlineUserData.CustomerNumber)); response.Result.UserName = onlineUserData.UserName; response.ResultCode = ResultCodes.normal; try { response.Result.TotalAvailableBalance = _xbService.GetUserTotalAvailableBalance(onlineUserData.UserID, ulong.Parse(onlineUserData.CustomerNumber)); } catch (Exception) { response.Result.TotalAvailableBalance = null; } } return(ResponseExtensions.ToHttpResponse(response)); }
public IActionResult CheckSMSVerificationCodeByRegistrationToken([FromBody] VerificationCodeRequest request, [FromHeader(Name = "RegistrationToken")] string registrationToken) { if (ModelState.IsValid) { var response = new SingleResponse <bool>(); response.ResultCode = ResultCodes.normal; RegistrationCustomerData data; if (!string.IsNullOrEmpty(request.VerificationCode)) { data = new RegistrationCustomerData() { VerificationCode = request.VerificationCode, RegistrationToken = registrationToken }; var result = _registrationManager.ContinueRegistrationProcess(data, RegistrationProcessSteps.CheckSMSVerificationCodeByRegistrationToken); response.Description = result.Description; if (result.ResultCode == ResultCode.Normal) { response.Result = true; } else if (result.ResultCode == ResultCode.ValidationError) { response.ResultCode = ResultCodes.validationError; } } return(ResponseExtensions.ToHttpResponse(response)); } else { return(ValidationError.GetValidationErrorResponse(ModelState)); } }
public IActionResult RegistratePhysicalCustomer([FromBody] CustomerRegParams regParams) { if (ModelState.IsValid) { var response = new SingleResponse <CustomerRegistrationProcessResult>(); response.ResultCode = ResultCodes.normal; _registrationManager.RegParams = regParams; switch (regParams.RegType) { case TypeOfPhysicalCustomerRegistration.ByPersonalInformation: response.Result = _registrationManager.RegistrateByPersonalInformation(); break; case TypeOfPhysicalCustomerRegistration.ByBankProductInformation: response.Result = _registrationManager.RegistrateByBankProductInformation(); break; } //Որպեսզի front-end-ում parse-ի error chta if (response.Result.RegistrationResponseData.Count == 0) { response.Result.RegistrationResponseData = null; } return(ResponseExtensions.ToHttpResponse(response)); } else { return(ValidationError.GetValidationErrorResponse(ModelState)); } }
public IActionResult GetCards(ProductQualityFilterRequest request) { if (ModelState.IsValid) { var authorizedCustomer = _cacheHelper.GetAuthorizedCustomer(); SingleResponse <List <Card> > response = new SingleResponse <List <Card> >() { ResultCode = ResultCodes.normal }; List <Card> cards = _xbService.GetCards(request.Filter); if (request.Filter == ProductQualityFilter.Closed) { cards = _xbService.GetClosedCardsForDigitalBanking(); } else { cards = _xbService.GetCards(request.Filter); if (request.Filter == ProductQualityFilter.All) { cards.RemoveAll(m => m.ClosingDate != null); cards.AddRange(_xbService.GetClosedCardsForDigitalBanking()); cards.AddRange(_xbService.GetnotActivatedVirtualCards()); } cards.AddRange(_xbService.GetLinkedCards()); } foreach (var card in cards) { if (card.CardNumber != null) { card.ArCaBalance = _xbService.GetArcaBalance(card.CardNumber); card.CardAccount.ArcaBalance = card.ArCaBalance; if (card.CardAccount.AccountNumber == "220000295380000" && Convert.ToBoolean(_config["TestVersion"])) { card.ArCaBalance = null; } card.CVVNote = _xbService.GetCVVNote((ulong)card.ProductId); card.FilialName = _xBInfoService.GetFilialName(card.FilialCode); card.ProductNote = _xbService.GetProductNote(card.ProductId); if (card.Type == 51) //VISA VIRTUAL { card.RealCVV = _xbService.GetVirtualCardDetails(card.CardNumber)?.Cvv; } } } response.Result = cards; if (authorizedCustomer.LimitedAccess != 0) { response.Result.RemoveAll(m => !_xbService.HasProductPermission(m.CardAccount.AccountNumber, (ulong)m.ProductId)); } return(ResponseExtensions.ToHttpResponse(response)); } else { return(ValidationError.GetValidationErrorResponse(ModelState)); } }
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 IActionResult GetCard(ProductIdRequest request) { if (ModelState.IsValid) { SingleResponse <Card> response = new SingleResponse <Card>() { ResultCode = ResultCodes.normal }; Card card = new Card(); card = _xbService.GetCard(request.ProductId); card.CardStatus = _xbService.GetCardStatus(request.ProductId); if (card.CardStatus.StatusDescription == "ՏՐ") { card.CardStatus.StatusDescription = _localizer["Տրամադրված"]; } else { card.CardStatus.StatusDescription = _localizer["Չտրամադրված"]; } card.Password = _xbService.GetCardMotherName(request.ProductId); CardAdditionalInfo addInfo = _xbService.GetCardAdditionalInfo(request.ProductId); card.CardSMSPhone = addInfo.SMSPhone; card.ReportReceivingType = addInfo.ReportReceivingType; card.CardEmail = addInfo.Email; card.ArCaBalance = _xbService.GetArcaBalance(card.CardNumber); card.CardAccount.ArcaBalance = card.ArCaBalance; if (card.CardAccount.AccountNumber == "220000295380000" && Convert.ToBoolean(_config["TestVersion"])) { card.ArCaBalance = null; } if (card.Type == 34 || card.Type == 40) { card.CashBack = _xbService.GetCashBackAmount(request.ProductId); } if (card.Type == 41 || card.Type == 40) { var MR = _xbService.GetCardMembershipRewards(card.CardNumber); if (MR == null) { card.BonusBalance = 0; } else { card.BonusBalance = MR.BonusBalance; } } card.FilialName = _xBInfoService.GetFilialName(card.FilialCode); response.Result = card; return(ResponseExtensions.ToHttpResponse(response)); } else { return(ValidationError.GetValidationErrorResponse(ModelState)); } }
public IActionResult GetCreditLine(ProductIdRequest request) { if (ModelState.IsValid) { var response = new SingleResponse <CreditLine>() { ResultCode = ResultCodes.normal }; response.Result = _xbService.GetCreditLine(request.ProductId); response.Result.HasContractFile = _xbService.HasUploadedContract(response.Result.LoanAccount.AccountNumber, 1); List <CreditLineGrafik> grafik = _xbService.GetCreditLineGrafik((ulong)response.Result.ProductId); if (grafik.Count != 0) { grafik.Sort((x, y) => x.EndDate.CompareTo(y.EndDate)); var selectedRow = grafik.Find(x => x.EndDate >= _xbService.GetNextOperDay() && x.Amount - x.MaturedAmount > 0); if (selectedRow != null) { response.Result.NextRepaymentAmount = selectedRow.Amount - selectedRow.MaturedAmount; response.Result.NextRepaymentDate = selectedRow.EndDate; } } //վարտային վարկային քիժ if (response.Result.ConnectAccount.AccountType == 11) { response.Result.CardSystem = _xbService.GetCardByCardNumber(response.Result.CardNumber).CardSystem; } //Քարտային վարկային գիծ if (response.Result.ConnectAccount.AccountType == 11) { response.Result.LoanAccount.CardSystem = _xbService.GetCardByCardNumber(response.Result.LoanAccount.ProductNumber).CardSystem; } response.Result.TotalDebt = Math.Abs(response.Result.Quality == 11 || response.Result.Quality == 12 ? response.Result.OutCapital : response.Result.CurrentCapital) + Math.Abs(response.Result.CurrentRateValue) + Math.Abs(response.Result.PenaltyAdd) + response.Result.JudgmentRate; if ((!string.IsNullOrWhiteSpace(response.Result.CardNumber)) && response.Result.CardNumber != "0") { CreditLine overdraft = _xbService.GetCardOverDraft(response.Result.CardNumber); response.Result.CardOverdraft = Math.Abs(overdraft.Quality == 11 || overdraft.Quality == 12 ? overdraft.OutCapital : overdraft.CurrentCapital) + Math.Abs(overdraft.CurrentRateValue) + Math.Abs(overdraft.PenaltyAdd) + overdraft.JudgmentRate; response.Result.TotalDebt += response.Result.CardOverdraft; } response.Result.PenaltyAdd -= response.Result.JudgmentRate; return(ResponseExtensions.ToHttpResponse(response)); } else { return(ValidationError.GetValidationErrorResponse(ModelState)); } }
public IActionResult GetMatureOrder(IdRequest request) { if (ModelState.IsValid) { var authorizedCustomer = _cacheHelper.GetAuthorizedCustomer(); bool hasPermission = true; var order = _xbService.GetMatureOrder(request.Id); order.SubType = 2; if (order.MatureType == MatureType.PartialRepayment) { order.MatureType = MatureType.PartialRepaymentByGrafik; order.SubTypeDescription = _xbInfoService.GetLoanMatureTypesForIBanking().Where(x => x.Key == "9").FirstOrDefault().Value; } else if (order.MatureType == MatureType.RepaymentByCreditCode) { order.MatureType = MatureType.PartialRepayment; order.SubTypeDescription = _xbInfoService.GetLoanMatureTypesForIBanking().Where(x => x.Key == "2").FirstOrDefault().Value; } else if (order.MatureType == MatureType.FullRepayment && order.Quality == OrderQuality.Draft) { order.MatureType = MatureType.PartialRepayment; order.SubTypeDescription = _xbInfoService.GetLoanMatureTypesForIBanking().Where(x => x.Key == "2").FirstOrDefault().Value; } SingleResponse <MatureOrder> response = new SingleResponse <MatureOrder>(); if (authorizedCustomer.LimitedAccess != 0) { if (!_xbService.HasProductPermission(order.Account.AccountNumber)) { hasPermission = false; response.ResultCode = ResultCodes.failed; response.Result.Description = "Տվյալները հասանելի չեն։"; } } if (hasPermission) { if (order.Quality == OrderQuality.Declined) { order.RejectReason = _xbService.GetOrderRejectReason(request.Id, order.Type); } response.Result = order; response.ResultCode = ResultCodes.normal; } return(ResponseExtensions.ToHttpResponse(response)); } else { return(ValidationError.GetValidationErrorResponse(ModelState)); } }
public IActionResult GetCreditLines(ProductQualityFilterRequest request) { if (ModelState.IsValid) { SingleResponse <List <CreditLine> > response = new SingleResponse <List <CreditLine> >(); response.Result = _xbService.GetCreditLines(request.Filter); response.Result.RemoveAll(m => m.Type == 25 || m.Type == 18 || m.Type == 46 || m.Type == 36 || m.Type == 60); Parallel.ForEach(response.Result, x => x.HasContractFile = _xbService.HasUploadedContract(x.LoanAccount.AccountNumber, 1)); Parallel.ForEach(response.Result, item => { List <CreditLineGrafik> grafik = _xbService.GetCreditLineGrafik((ulong)item.ProductId); if (grafik.Count != 0) { grafik.Sort((x, y) => x.EndDate.CompareTo(y.EndDate)); var selectedRow = grafik.Find(x => x.EndDate >= _xbService.GetNextOperDay() && x.Amount - x.MaturedAmount > 0); if (selectedRow != null) { item.NextRepaymentAmount = selectedRow.Amount - selectedRow.MaturedAmount; item.NextRepaymentDate = selectedRow.EndDate; } } if (!string.IsNullOrWhiteSpace(item.CardNumber)) { item.CardSystem = _xbService.GetCardSystem(item.CardNumber); } if (!string.IsNullOrWhiteSpace(item.LoanAccount.ProductNumber)) { item.LoanAccount.CardSystem = _xbService.GetCardSystem(item.LoanAccount.ProductNumber); } item.TotalDebt = Math.Abs(item.Quality == 11 || item.Quality == 12 ? item.OutCapital : item.CurrentCapital) + Math.Abs(item.CurrentRateValue) + Math.Abs(item.PenaltyAdd) + item.JudgmentRate; if ((!string.IsNullOrWhiteSpace(item.CardNumber)) && item.CardNumber != "0") { CreditLine overdraft = _xbService.GetCardOverDraft(item.CardNumber); item.CardOverdraft = Math.Abs(overdraft.Quality == 11 || overdraft.Quality == 12 ? overdraft.OutCapital : overdraft.CurrentCapital) + Math.Abs(overdraft.CurrentRateValue) + Math.Abs(overdraft.PenaltyAdd) + overdraft.JudgmentRate; item.TotalDebt += item.CardOverdraft; } item.PenaltyAdd -= item.JudgmentRate; }); response.ResultCode = ResultCodes.normal; return(ResponseExtensions.ToHttpResponse(response)); } else { return(ValidationError.GetValidationErrorResponse(ModelState)); } }