Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        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"));
        }
Exemplo n.º 3
0
        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();
        }
Exemplo n.º 4
0
        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...");
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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();
        }
Exemplo n.º 8
0
        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)
     }));
 }
Exemplo n.º 10
0
 public override Task <CreditReply> CheckCreditRequest(CreditRequest request, ServerCallContext context)
 {
     return(Task.FromResult(new CreditReply
     {
         Message = "Credit " + request.Name
     }));
 }
Exemplo n.º 11
0
        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);
            }
        }
Exemplo n.º 12
0
        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);
            }
        }
Exemplo n.º 13
0
        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);
            }
        }
Exemplo n.º 14
0
        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);
            }
        }
Exemplo n.º 15
0
        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);
        }
Exemplo n.º 16
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);
        }
Exemplo n.º 17
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);
        }
Exemplo n.º 18
0
        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));
        }
Exemplo n.º 19
0
    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);
        }
Exemplo n.º 21
0
        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);
        }
Exemplo n.º 22
0
        public void UpdateRequest(CreditRequest currentRequest)
        {
            var request = _context.CreditRequests.FirstOrDefault(x => x.Id == currentRequest.Id);

            if (request != null)
            {
                _context.SaveChanges();
            }
        }
Exemplo n.º 23
0
        public CreditRequest MapAddCreditRequestToModel(CreditRequestViewModel model)
        {
            CreditRequest bankCredit = Mapper.Map <CreditRequest>(model);

            bankCredit.Id           = Guid.NewGuid().ToString();
            bankCredit.CreationDate = DateTime.UtcNow;

            return(bankCredit);
        }
Exemplo n.º 24
0
        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);
        }
Exemplo n.º 25
0
        public void Map_CreditRequestDto_CorrectCaptureNumber()
        {
            var src = new CreditRequest {
                CaptureNumber = Factory.GetString()
            };

            var dest = _mapper.Map <RefundOrderRequestDto>(src);

            Assert.Equal(src.CaptureNumber, dest.CaptureNumber);
        }
Exemplo n.º 26
0
        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);
        }
Exemplo n.º 27
0
        public static CreditRequestDTO CreditRequestToDTO(CreditRequest CreditRequest)
        {
            if (CreditRequest == null)
            {
                return(null);
            }
            Mapper.CreateMap <CreditRequest, CreditRequestDTO>();
            CreditRequestDTO CreditRequestDTO = Mapper.Map <CreditRequestDTO>(CreditRequest);

            return(CreditRequestDTO);
        }
Exemplo n.º 28
0
        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));
        }
Exemplo n.º 29
0
        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)));
            }
        }
Exemplo n.º 31
0
 public bool IsAcceptable(CreditRequest request)
 {
     return (request.Period >= MinMonths && request.Period <= MaxMonths);
 }
Exemplo n.º 32
0
 public bool IsAcceptable(CreditRequest request)
 {
     return (request.Amount >= MinAmount && request.Amount <= MaxAmount);
 }