static async Task Main(string[] args) { var channel = GrpcChannel.ForAddress("https://localhost:5001"); var client1 = new Greeter.GreeterClient(channel); var greetingRequest = new HelloRequest { Name = "Beltrán" }; var reply1 = await client1.SayHelloRequestAsync(greetingRequest); Console.WriteLine(reply1.Message); Console.WriteLine("Press any key to continue..."); Console.ReadKey(); var client = new CreditRatingCheck.CreditRatingCheckClient(channel); var creditRequest = new CreditRequest { CustomerId = 201, CreditQuantity = 7000 }; var reply = await client.CheckCreditRequestAsync(creditRequest); Console.WriteLine($"El credito para el cliente con Id {creditRequest.CustomerId} esta {(reply.IsAccepted ? "aprobado" : "rechazado")}!"); Console.WriteLine("Press any key to continue..."); Console.ReadKey(); creditRequest = new CreditRequest { CustomerId = 201, CreditQuantity = 40000 }; reply = await client.CheckCreditRequestAsync(creditRequest); Console.WriteLine($"El credito para el cliente con Id {creditRequest.CustomerId} esta {(reply.IsAccepted ? "aprobado" : "rechazado")}!"); Console.WriteLine("Press any key to exit..."); Console.ReadKey(); }
public ActionResult RequestApproveAction(string CreditRequestid) { var userList = db.Users.ToList(); int urId = Convert.ToInt32(CreditRequestid); var amount = db.CreditRequests.FirstOrDefault(c => c.CreditRequestId == urId).Amount; var approvalrequestList = db.ApprovalRequests.ToList(); var applicant = from u in userList join a in approvalrequestList on u.UserId equals a.UserId select(new { userId = u.UserId }).userId; foreach (var id in applicant) { var creditedUser = db.Users.FirstOrDefault(s => s.UserId == id); creditedUser.Balance = Convert.ToString(Convert.ToInt32(creditedUser.Balance) + amount); } db.CreditRequests.FirstOrDefault(c => c.CreditRequestId == urId); CreditRequest CreditRequest = db.CreditRequests.Find(urId); db.CreditRequests.Remove(CreditRequest); ApprovalRequest approvalRequest = db.ApprovalRequests.FirstOrDefault(f => f.CreditRequestId == urId); db.ApprovalRequests.Remove(approvalRequest); db.SaveChanges(); return(View("Login")); }
static async Task CreditCardClient(string serverAddress) { if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) { AppContext.SetSwitch( "System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true); serverAddress = "http://localhost:5000"; } var channel = GrpcChannel.ForAddress(serverAddress); var client = new CreditRating.CreditRatingClient(channel); var creditRequest = new CreditRequest { Name = "id0201" }; var accessToken = await GetAccessToken(); var headers = new Metadata(); headers.Add("Authorization", $"Bearer {accessToken}"); var reply = await client.CheckCreditRequestAsync(creditRequest, headers); Console.WriteLine($"Credit for customer {creditRequest.Name} - {reply.Message}!"); Console.WriteLine("Press any key to exit..."); Console.ReadKey(); }
static async Task Main(string[] args) { var serverAddress = "https://localhost:5001"; if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) { // The following statement allows you to call insecure services. To be used only in development environments. AppContext.SetSwitch( "System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true); serverAddress = "http://localhost:5000"; } var channel = GrpcChannel.ForAddress(serverAddress); var client = new CreditRatingCheck.CreditRatingCheckClient(channel); var creditRequest = new CreditRequest { CustomerId = "id0201", Credit = 7000 }; var reply = await client.CheckCreditRequestAsync(creditRequest); Console.WriteLine($"Credit for customer {creditRequest.CustomerId} {(reply.IsAccepted ? "approved" : "rejected")}!"); Console.WriteLine("Press any key to exit..."); Console.ReadKey(); creditRequest = new CreditRequest { CustomerId = "id201", Credit = 7000 }; reply = await client.CheckCreditRequestAsync(creditRequest); Console.WriteLine($"Credit for customer {creditRequest.CustomerId} {(reply.IsAccepted ? "approved" : "rejected")}!"); Console.WriteLine("Press any key to exit..."); }
public void Credits_Credit_An_Account_Request_Returns_Successfully() { // Arrange var request = new CreditRequest { Amount = 1.05m, Card = new Card { Number = "4111 1111 1111 1111", ExpirationDate = "01/2017" }, DeveloperApplication = new DeveloperApplication { DeveloperId = 12345678, Version = "1.2" } }; var apiContext = new APIContext(); var controller = new PaymentsController(); // Act var response = controller.ProcessRequest <CreditResponse>(apiContext, request); // Assert Assert.IsNotNull(response); Assert.IsTrue(response.Success); }
public void SendTest_FailedCredit_ReasonResponseCode() { //check login / password string sError = CheckLoginPassword(); Assert.IsTrue(sError == "", sError); string transID = "1"; string responseString = "3|1|54|The referenced transaction does not meet the criteria for issuing a credit.|||0||Fail to Credit invalid transaction|6.14|CC|credit||||||||||||||||||||||||||E5FBFF01C6A66AA75C1EE966943CAEAC|||||||||||||XXXX1111|Visa||||||||||||||||"; LocalRequestObject.ResponseString = responseString; IGatewayResponse expected = new GatewayResponse(responseString.Split('|')); Gateway target = new Gateway(ApiLogin, TransactionKey, true); IGatewayRequest request = new CreditRequest(transID, (decimal)6.14, "1111"); string description = "Fail to Credit invalid transaction"; IGatewayResponse actual = target.Send(request, description); Assert.AreEqual(expected.Amount, actual.Amount); Assert.AreEqual(expected.Approved, actual.Approved); Assert.AreEqual(expected.Message, actual.Message); Assert.AreEqual(expected.ResponseCode, actual.ResponseCode); Assert.AreEqual(((GatewayResponse)expected).ResponseReasonCode, ((GatewayResponse)expected).ResponseReasonCode); Assert.IsTrue(actual.TransactionID.Trim().Length > 0); Assert.AreEqual(expected.TransactionID, actual.TransactionID); }
public void Call_grpc_with_story_book() { var scenario = GrpcScenarioConfiguration .UseGrpc() .WithStoryBook <CreditCheckStoryBook, CreditCheckData>() .Configure(options => { options.Services = _host.Services; options.LogMessage = s => _output.WriteLine(s); options.AddGrpcClient <BankAccountService.BankAccountServiceClient>("http://localhost"); options.AddGrpcClient <CreditRatingCheck.CreditRatingCheckClient>("http://localhost/"); options.Client = _httpClient; }); scenario.Given .Call_credit_check_service() .Call_banking_service(); var creditRequest = new CreditRequest { CustomerId = "id0201", Credit = 7000 }; scenario .Grpc <CreditRatingCheck.CreditRatingCheckClient>() .When(client => client.CheckCreditRequest(creditRequest)); scenario.Then.Response.ShouldBe.Ok(); }
public ActionResult Credit(CreditRequest request) { var accepted = _transactionService.Process(new TransactionRequest(request.PlayerId, request.TransactionId, request.Amount, TransactionType.Deposit)); return(Ok(accepted)); }
public override Task <CreditReply> CheckCreditRequest(CreditRequest request, ServerCallContext context) { return(Task.FromResult(new CreditReply { IsAccepted = IsEligibleForCredit(request.CustomerId, request.CreditQuantity) })); }
public override Task <CreditReply> CheckCreditRequest(CreditRequest request, ServerCallContext context) { return(Task.FromResult(new CreditReply { Message = "Credit " + request.Name })); }
public async Task CreateWithCardIdAndCustomerIdTest() { try { var customerRequest = _customerRequestBuilder.Build(); var customer = await _gateway.CreateCustomer(customerRequest); var cardRequest = _cardRequestBuilder.WithCustomerId(customer.Id).Build(); var card = await _gateway.CreateCard(cardRequest); var creditRequest = new CreditRequest() { Amount = 100, Currency = "EUR", Description = "desc", Card = _cardRequestBuilder.WithId(card.Id).Build(), CustomerId = customer.Id }; var newCredit = await _gateway.CreateCredit(creditRequest); var retrievedCredit = await _gateway.RetrieveCredit(newCredit.Id); Assert.AreEqual(creditRequest.CustomerId, retrievedCredit.CustomerId); Assert.AreEqual(card.Id, retrievedCredit.Card.Id); Assert.AreEqual(cardRequest.CardholderName, retrievedCredit.Card.CardholderName); Assert.AreEqual(cardRequest.ExpMonth, retrievedCredit.Card.ExpMonth); Assert.AreEqual(cardRequest.ExpYear, retrievedCredit.Card.ExpYear); Assert.AreEqual("4242", retrievedCredit.Card.Last4); } catch (SecurionPayException exc) { HandleApiException(exc); } }
public async Task UpdateCreditTest() { try { var createTokenRequest = _tokenRequestBuilder.Build(); var token = await _gateway.CreateToken(createTokenRequest); var creditRequest = new CreditRequest() { Amount = 100, Currency = "EUR", Description = "desc", Card = _cardRequestBuilder.WithId(token.Id).Build() }; var newCredit = await _gateway.CreateCredit(creditRequest); var creditUpdateRequest = new CreditUpdateRequest() { CreditId = newCredit.Id, Description = "new description" }; var updatedCredit = await _gateway.UpdateCredit(creditUpdateRequest); Assert.AreEqual(creditUpdateRequest.Description, updatedCredit.Description); } catch (SecurionPayException exc) { HandleApiException(exc); } }
public async Task CreateCreditWithTokenAndListCreditsTest() { try { var createTokenRequest = _tokenRequestBuilder.Build(); var token = await _gateway.CreateToken(createTokenRequest); var creditRequest = new CreditRequest() { Amount = 100, Currency = "EUR", Description = "desc", Card = _cardRequestBuilder.WithId(token.Id).Build() }; var newCredit = await _gateway.CreateCredit(creditRequest); var credits = await _gateway.ListCredits(); Assert.IsNotNull(credits.List.FirstOrDefault(c => c.Id == newCredit.Id)); } catch (SecurionPayException exc) { HandleApiException(exc); } }
public async Task CreateCreditWithTokenAndRetireveCreditTest() { try { var createTokenRequest = _tokenRequestBuilder.Build(); var token = await _gateway.CreateToken(createTokenRequest); var creditRequest = new CreditRequest() { Amount = 100, Currency = "EUR", Description = "desc", Card = _cardRequestBuilder.WithId(token.Id).Build() }; var newCredit = await _gateway.CreateCredit(creditRequest); var retrievedCredit = await _gateway.RetrieveCredit(newCredit.Id); Assert.AreEqual(creditRequest.Amount, retrievedCredit.Amount); Assert.AreEqual(creditRequest.Currency, retrievedCredit.Currency); Assert.AreEqual(creditRequest.Description, retrievedCredit.Description); Assert.AreEqual(createTokenRequest.CardholderName, retrievedCredit.Card.CardholderName); Assert.AreEqual(createTokenRequest.ExpMonth, retrievedCredit.Card.ExpMonth); Assert.AreEqual(createTokenRequest.ExpYear, retrievedCredit.Card.ExpYear); Assert.AreEqual(createTokenRequest.GetLast4(), retrievedCredit.Card.Last4); } catch (SecurionPayException exc) { HandleApiException(exc); } }
public void SendTest_Credit_Approved() { //check login / password string sError = CheckLoginPassword(); Assert.IsTrue(sError == "", sError); string transID = "2207700297"; string responseString = "1|1|1|This transaction has been approved.||P|2207741772||Credit transaction approved testing|6.14|CC|credit||||||||||||[email protected]||||||||||||||574B2D5282D8A2914AEB7272AECD4B71|||||||||||||XXXX1111|Visa||||||||||||||||"; LocalRequestObject.ResponseString = responseString; IGatewayResponse expected = new GatewayResponse(responseString.Split('|')); Gateway target = new Gateway(ApiLogin, TransactionKey, true); IGatewayRequest request = new CreditRequest(transID, (decimal)6.14, "1111"); string description = "Credit transaction approved testing"; IGatewayResponse actual = target.Send(request, description); Assert.AreEqual(expected.Amount, actual.Amount); Assert.AreEqual(expected.Approved, actual.Approved); Assert.AreEqual(expected.CardNumber, actual.CardNumber); Assert.AreEqual(expected.Message, actual.Message); Assert.AreEqual(expected.ResponseCode, actual.ResponseCode); Assert.IsTrue(actual.TransactionID.Trim().Length > 0); Assert.IsTrue(long.Parse(actual.TransactionID) > 0); }
public void SendTest_Credit_Approved() { // Test setup. const string transId = "????"; // A settled transaction id const decimal creditAmount = (decimal)1.50; // Amount to request credit for; less than the settled amount minus refunded amounts. const string accountType = "????"; // The account type used in the transaction, such as Visa const string accountLast4Digits = "????"; // The last 4 digitals of the account number used in the transaction, such as 1111 //check login / password string sError = CheckLoginPassword(); Assert.IsTrue(sError == "", sError); var responseString = "1|1|1|This transaction has been approved.||P|2207741772||Credit transaction approved testing|" + creditAmount + "|CC|credit||||||||||||[email protected]||||||||||||||574B2D5282D8A2914AEB7272AECD4B71|||||||||||||XXXX" + accountLast4Digits + "|" + accountType + "||||||||||||||||"; LocalRequestObject.ResponseString = responseString; IGatewayResponse expected = new GatewayResponse(responseString.Split('|')); var target = new Gateway(ApiLogin, TransactionKey, true); IGatewayRequest request = new CreditRequest(transId, creditAmount, accountLast4Digits); const string description = "Credit transaction approved testing"; IGatewayResponse actual = target.Send(request, description); Assert.AreEqual(expected.Amount, actual.Amount); Assert.AreEqual(expected.Approved, actual.Approved); Assert.AreEqual(expected.CardNumber, actual.CardNumber); Assert.AreEqual(expected.Message, actual.Message); Assert.AreEqual(expected.ResponseCode, actual.ResponseCode); Assert.IsTrue(actual.TransactionID.Trim().Length > 0); Assert.Greater(long.Parse(actual.TransactionID), 0); }
public void Credits_Credit_An_Account_Request_Returns_Successfully() { // Arrange var request = new CreditRequest { Amount = 10, Card = new Card { Number = "4444 3333 2222 1111", ExpirationDate = "01/2017" }, DeveloperApplication = new DeveloperApplication { DeveloperId = 12345678, Version = "1.2" }, ExtendedInformation = new ExtendedInformation { SoftDescriptor = Helper.RequestSoftDescriptor, DynamicMCC = Helper.RequestDynamicMCC } }; var apiContext = new APIContext(); var controller = new PaymentsController(); // Act var response = controller.ProcessRequest <CreditResponse>(apiContext, request); // Assert Assert.IsNotNull(response); Assert.AreEqual(response.Transaction.SoftDescriptor, Helper.ResponseSoftDescriptor); Assert.AreEqual(response.Transaction.DynamicMCC, Helper.ResponseDynamicMCC); Assert.IsTrue(response.Success); }
public IActionResult PostCredit(string name, decimal creditRequestByUser) { if (String.IsNullOrWhiteSpace(name) || creditRequestByUser <= 0) { return(Content("Name or credit request is invalid. Try again.")); } var customers = new List <Customer>(); customers = GetCustomers(); if (customers.Count == 0) { throw new InvalidOperationException("No customers found"); } var foundCustomer = customers.Find(c => c.Nome == name); if (foundCustomer is null) { return(Content("No customer found")); } var creditRequestObj = new CreditRequest(name, creditRequestByUser); // It calculates the credit available based on Customer age and salary - then return a Credit object var creditObj = creditRequestObj.GetCredit(foundCustomer); return(Ok(creditObj)); }
public void purchasePack() { /*getCollection creds = new getCollection("getCredits", Global.getID(), Global.getToken()); * string amount = Global.NetworkRequest(creds); * Debug.Log(amount); * Int32 amountnum = Int32.Parse(amount); * if (amountnum > 100) //CHANGE TO WHATEVER THE COST SHOULD BE*/ if (Global.usercredits > 100) { clicked = 0; getCollection asdf = new getCollection("openPack", Global.getID(), Global.getToken()); string res = Global.NetworkRequest(asdf); string[] cards = res.Split(','); Global.usercredits -= 100; moneyAmount.text = Global.usercredits.ToString(); CreditRequest decrease = new CreditRequest("updateCredits", Global.getID(), Global.getToken(), -100); string consumer = Global.NetworkRequest(decrease); foreach (string c in cards) { Debug.Log(c); AddCardRequest newcard = new AddCardRequest(Global.getID(), Global.getToken(), c, "addCardToCollection"); string added = Global.NetworkRequest(newcard); } for (int a = 0; a < cards.Length; a++) { cards[a] = cards[a].Replace(" ", String.Empty); } //sets up card screen lobbybutton.interactable = false; card1.interactable = true; card2.interactable = true; card3.interactable = true; card4.interactable = true; card5.interactable = true; card1image.gameObject.SetActive(false); card1image.sprite = Resources.Load <Sprite>("images/" + cards[0]); card1imageback.gameObject.SetActive(true); card2image.gameObject.SetActive(false); card2image.sprite = Resources.Load <Sprite>("images/" + cards[1]); card2imageback.gameObject.SetActive(true); card3image.gameObject.SetActive(false); card3image.sprite = Resources.Load <Sprite>("images/" + cards[2]); card3imageback.gameObject.SetActive(true); card4image.gameObject.SetActive(false); card4image.sprite = Resources.Load <Sprite>("images/" + cards[3]); card4imageback.gameObject.SetActive(true); card5image.gameObject.SetActive(false); card5image.sprite = Resources.Load <Sprite>("images/" + cards[4]); card5imageback.gameObject.SetActive(true); confirm.gameObject.SetActive(false); CardsPanel.gameObject.SetActive(true); } else { ErrorPanel.gameObject.SetActive(true); } }
private Credit ConvertObjects(CreditRequest creditRequest) { credit.CreditType = creditRequest.CreditType; credit.CreditAmount = creditRequest.CreditAmount; credit.QuantityPlots = creditRequest.QuantityPlots; credit.FirstDueDate = creditRequest.FirstDueDate; return(credit); }
public void GetCredit_AgeGreaterThan80_ReturnsCredit20PercentOfSalary() { var customer = new Customer("Charles West", 83, 9126.0M); var creditRequest = new CreditRequest("Cristina Pereira", 2500.0M); var credit = creditRequest.GetCredit(customer); Assert.AreEqual(1825.2, credit.CreditValueProvided); }
public void UpdateRequest(CreditRequest currentRequest) { var request = _context.CreditRequests.FirstOrDefault(x => x.Id == currentRequest.Id); if (request != null) { _context.SaveChanges(); } }
public CreditRequest MapAddCreditRequestToModel(CreditRequestViewModel model) { CreditRequest bankCredit = Mapper.Map <CreditRequest>(model); bankCredit.Id = Guid.NewGuid().ToString(); bankCredit.CreationDate = DateTime.UtcNow; return(bankCredit); }
public void GetCredit_AgeGreaterThan30_ReturnsCredit80PercentOfSalary() { var customer = new Customer("Cristina Reeves", 35, 1933.0M); var creditRequest = new CreditRequest("Cristina Reeves", 2500.0M); var credit = creditRequest.GetCredit(customer); Assert.AreEqual(1739.7, credit.CreditValueProvided); Assert.LessOrEqual(credit.ValueOfEachParcel, customer.Salario * 5 / 100); }
public void Map_CreditRequestDto_CorrectCaptureNumber() { var src = new CreditRequest { CaptureNumber = Factory.GetString() }; var dest = _mapper.Map <RefundOrderRequestDto>(src); Assert.Equal(src.CaptureNumber, dest.CaptureNumber); }
public void GetCredit_AgeGreaterThan50_ReturnsCredit70PercentOfSalary() { var customer = new Customer("Cristina Pereira", 54, 4845.0M); var creditRequest = new CreditRequest("Cristina Pereira", 2500.0M); var credit = creditRequest.GetCredit(customer); Assert.AreEqual(3391.5, credit.CreditValueProvided); Assert.LessOrEqual(credit.ValueOfEachParcel, customer.Salario * 20 / 100); }
public static CreditRequestDTO CreditRequestToDTO(CreditRequest CreditRequest) { if (CreditRequest == null) { return(null); } Mapper.CreateMap <CreditRequest, CreditRequestDTO>(); CreditRequestDTO CreditRequestDTO = Mapper.Map <CreditRequestDTO>(CreditRequest); return(CreditRequestDTO); }
public async Task <CreditRequestResponse> CreditRequest(CreditRequest creditRequest, CancellationToken token) { var endpoint = $"v1/creditrequest"; var request = BuildRequestParameters(creditRequest); return(await _apiClient.PostAsync <CreditRequestResponse>( endpoint, request, token)); }
private static void ChainOfResponsibility() { Console.WriteLine("1. CHAIN OF RESPONSIBILITY"); Verifier verifier = new Verifier(); Analyzer analyzer = new Analyzer(); RiskEstimator riskEstimator = new RiskEstimator(); verifier.SetNext(analyzer); analyzer.SetNext(riskEstimator); string refMessage = String.Empty; CreditRequest creditRequest = new CreditRequest { Amount = 40000, Percentage = 7.5, RiskOfInvestment = RiskLevel.Low, TimeInMonths = 24, Requester = new Person { Name = "John", LastName = "William", Age = 37, HasAlreadyCredit = false, CreditHistory = CreditHistory.Good, MonthIncome = 6250, EmploymentType = Employment.Permanent } }; verifier.Process(creditRequest, ref refMessage); Console.WriteLine($"John William credit request result: { refMessage }"); CreditRequest creditRequest2 = new CreditRequest { Amount = 85000, Percentage = 10.5, RiskOfInvestment = RiskLevel.Normal, TimeInMonths = 12, Requester = new Person { Name = "Mark", LastName = "Mason", Age = 29, HasAlreadyCredit = false, CreditHistory = CreditHistory.Good, MonthIncome = 3000, EmploymentType = Employment.Temporary } }; verifier.Process(creditRequest2, ref refMessage); Console.WriteLine($"Mark Mason credit request result: { refMessage }"); }
public static BaseResponse <BaseWalletResponseData> ProcessBetCredit(CreditRequest request) { dynamic requestData = new ExpandoObject(); requestData.Token = request.SessionToken; requestData.UID = request.UserUID; requestData.TransactionID = request.TransactionID; requestData.EventId = request.EventID; requestData.EventName = request.EventName; requestData.CreditAmount = request.Amount; requestData.WinningDetail = request.BetDetail; dynamic serviceData = new ExpandoObject(); CallService(ConfigurationHelper.GetConfigurationItem("CreditServiceEndpoint"), requestData, out serviceData); BaseWalletResponseData data = new BaseWalletResponseData(); //JavaScriptSerializer serializer = new JavaScriptSerializer(); data.UserUID = serviceData.IUD; data.TransactionID = serviceData.TransactionID; data.Balance = (decimal)serviceData.Balance; data.errorCode = (WalletErrorCode)Enum.ToObject(typeof(WalletErrorCode), serviceData.ErrorCode); data.ErrorMessage = serviceData.ErrorDescription; data.SessionToken = serviceData.Token; //data.Date = serviceData.Date; DateTime outputDate = DateTime.Now; if (DateTime.TryParse(serviceData.Date.ToString(), out outputDate)) { data.Date = outputDate; } else { if (serviceData.Date.GetType().Equals(typeof(System.DateTime))) { data.Date = serviceData.Date; } else { data.Date = DateTime.UtcNow; } } if (data.errorCode.Equals(WalletErrorCode.Success)) { return(new BaseResponse <BaseWalletResponseData>(data, ResponseStatus.OK)); } else { return(new BaseResponse <BaseWalletResponseData>(data, ResponseStatus.Fail, string.Format("Service error: {0} - {1}", data.errorCode, data.ErrorMessage))); } }
public bool IsAcceptable(CreditRequest request) { return (request.Period >= MinMonths && request.Period <= MaxMonths); }
public bool IsAcceptable(CreditRequest request) { return (request.Amount >= MinAmount && request.Amount <= MaxAmount); }