public async Task <SbaPPPLoanForgiveness> CreateForgivenessRequest(SbaPPPLoanForgiveness request, string loanForgivenessUrl)
        {
            try
            {
                var serialized = JsonConvert.SerializeObject(request, new JsonSerializerSettings()
                {
                    DateFormatHandling = DateFormatHandling.IsoDateFormat,
                    NullValueHandling  = NullValueHandling.Ignore
                });

                RestClient restClient = new RestClient($"{baseUri}/{loanForgivenessUrl}/");
                restClient.Timeout = -1;
                RestRequest restRequest = new RestRequest(Method.POST);
                restRequest.AddHeader("Authorization", apiToken);
                restRequest.AddHeader(VENDOR_KEY, vendorKey);
                restRequest.AddHeader("Content-Type", "application/json");
                restRequest.AddParameter("application/json", serialized, ParameterType.RequestBody);
                IRestResponse response = await restClient.ExecuteAsync(restRequest);

                if (response.IsSuccessful)
                {
                    SbaPPPLoanForgiveness sbaPPPLoanForgiveness = JsonConvert.DeserializeObject <SbaPPPLoanForgiveness>(response.Content);
                    return(sbaPPPLoanForgiveness);
                }
                throw new Exception($"Did not receive success code. please investigate. \nresponse code: {response.StatusCode}.\n response:{response.Content}");
            }
            catch (Exception exception)
            {
                Console.WriteLine($"{Environment.NewLine}{exception.Message}{Environment.NewLine}");
                Console.WriteLine("------------------------------------------------------------------------");
                return(null);
            }
        }
        public async Task <SbaPPPLoanForgiveness> getSbaLoanForgivenessBySlug(string slug, string loanForgivenessUrl)
        {
            try
            {
                if (string.IsNullOrEmpty(slug))
                {
                    throw new Exception("Incorrect input data. please investigate");
                }

                RestClient restClient = new RestClient($"{baseUri}/{loanForgivenessUrl}/{slug}/");
                restClient.Timeout = -1;
                RestRequest restRequest = new RestRequest(Method.GET);
                restRequest.AddHeader("Authorization", apiToken);
                restRequest.AddHeader(VENDOR_KEY, vendorKey);
                restRequest.AddHeader("Content-Type", "application/json");
                IRestResponse restResponse = await restClient.ExecuteAsync(restRequest);

                if (restResponse.IsSuccessful)
                {
                    Console.WriteLine($"{Environment.NewLine}{restResponse.Content}{Environment.NewLine}");
                    Console.WriteLine("------------------------------------------------------------------------");

                    SbaPPPLoanForgiveness sbaLoanForgiveness = JsonConvert.DeserializeObject <SbaPPPLoanForgiveness>(restResponse.Content);
                    return(sbaLoanForgiveness);
                }
                throw new Exception($"Did not receive success code. please investigate. received response: {Environment.NewLine}StatusCode - {restResponse.StatusCode}{Environment.NewLine}Response - {restResponse.Content}");
            }
            catch (Exception exception)
            {
                Console.WriteLine($"{Environment.NewLine}{exception.Message}{Environment.NewLine}");
                Console.WriteLine("------------------------------------------------------------------------");
                return(null);
            }
        }
Ejemplo n.º 3
0
        public async Task <SbaPPPLoanForgiveness> getSbaLoanForgivenessBySlug(string slug)
        {
            SbaPPPLoanForgiveness sbaLoanForgivenessBySlug =
                await sbaLoanForgiveness.getSbaLoanForgivenessBySlug(slug, pppLoanForgivenessRequests);

            return(sbaLoanForgivenessBySlug);
        }
Ejemplo n.º 4
0
        public async Task <SbaPPPLoanForgiveness> createForgivenessRequest(SbaPPPLoanForgiveness pppLoanForgiveness)
        {
            SbaPPPLoanForgiveness sbaPppLoanForgiveness =
                await sbaLoanForgiveness.execute(pppLoanForgiveness, pppLoanForgivenessRequests);

            return(sbaPppLoanForgiveness);
        }
        public Task <SbaPPPLoanForgiveness> execute(SbaPPPLoanForgiveness request, string loanForgivenessUrl)
        {
            Console.WriteLine($"Submit Request Received: {request}");
            Task <SbaPPPLoanForgiveness> response = sbaLoanForgivenessService.execute(request, loanForgivenessUrl);

            return(response);
        }
        public async Task getSbaLoanForgivenessBySlug()
        {
            SbaPPPLoanForgiveness response = await cSharpClientTest.getSbaLoanForgivenessBySlug("<slug>");

            Assert.IsNotNull(response);

            string serialized = JsonConvert.SerializeObject(response,
                                                            new JsonSerializerSettings {
                DateFormatHandling = DateFormatHandling.IsoDateFormat
            });

            Assert.IsNotNull(serialized);
        }
        public async Task createForgivenessRequest3508S()
        {
            #region build request

            SbaPPPLoanForgiveness pppLoanForgiveness = new SbaPPPLoanForgiveness
            {
                etran_loan = new EtranLoan()
                {
                    bank_notional_amount = 20000,
                    sba_number           = "2504010000",
                    loan_number          = "123456789",
                    entity_name          = "Test Entity",
                    ein                                    = "260320000",
                    funding_date                           = "2020-05-07",
                    forgive_eidl_amount                    = 100.00,
                    forgive_eidl_application_number        = 123456789,
                    demographics                           = new List <Demographics>(),
                    address1                               = "5050 Ritter Road – Suite B",
                    address2                               = "Mechanicsburg, PA",
                    dba_name                               = "Abc Inc",
                    phone_number                           = "1234567890",
                    forgive_fte_at_loan_application        = 10,
                    forgive_amount                         = 1666.66,
                    forgive_fte_at_forgiveness_application = 10,
                    forgive_2_million                      = false,
                    primary_email                          = "*****@*****.**",
                    primary_name                           = "Jason",
                    ez_form                                = false,
                    forgive_lender_confirmation            = true,
                    forgive_lender_decision                = 1,
                    s_form                                 = true,
                },
            };

            #endregion

            var response = await cSharpClientTest.createForgivenessRequest(pppLoanForgiveness);

            Assert.IsNotNull(response);

            string serialized = JsonConvert.SerializeObject(response,
                                                            new JsonSerializerSettings {
                DateFormatHandling = DateFormatHandling.IsoDateFormat
            });
            Assert.IsNotNull(serialized);
        }
        public async Task createForgivenessRequest()
        {
            #region build request

            Race race = new Race
            {
                race = "1"
            };

            Demographics demographics = new Demographics
            {
                name           = "abc",
                position       = "xyz",
                veteran_status = "1",
                gender         = "X",
                ethnicity      = "X",
                races          = new List <Race>(1)
                {
                    race
                }
            };

            SbaPPPLoanForgiveness pppLoanForgiveness = new SbaPPPLoanForgiveness
            {
                etran_loan = new EtranLoan()
                {
                    demographics = new List <Demographics>(1)
                    {
                        demographics
                    },
                    bank_notional_amount = 21250,
                    sba_number           = "2504010007",
                    loan_number          = "7777777",
                    entity_name          = "Abc Inc",
                    ein                                         = "260320007",
                    funding_date                                = "2020-04-20",
                    forgive_eidl_amount                         = 10000.00,
                    forgive_eidl_application_number             = 123456789,
                    forgive_payroll                             = 1000.00,
                    forgive_rent                                = 1000.00,
                    forgive_utilities                           = 1000.00,
                    forgive_mortgage                            = 1000.00,
                    address1                                    = "5050 Ritter Road – Suite B",
                    address2                                    = "Mechanicsburg PA",
                    dba_name                                    = "Abc Inc",
                    phone_number                                = "6102342123",
                    forgive_fte_at_loan_application             = 10,
                    forgive_line_6_3508_or_line_5_3508ez        = 3999.00,
                    forgive_modified_total                      = 3999.00,
                    forgive_payroll_cost_60_percent_requirement = 1666.66,
                    forgive_amount                              = 1666.66,
                    forgive_fte_at_forgiveness_application      = 10,
                    forgive_schedule_a_line_1                   = 100.00,
                    forgive_schedule_a_line_2                   = 5,
                    forgive_schedule_a_line_3_checkbox          = false,
                    forgive_schedule_a_line_3                   = 1.00,
                    forgive_schedule_a_line_4                   = 100.00,
                    forgive_schedule_a_line_5                   = 5,
                    forgive_schedule_a_line_6                   = 100.00,
                    forgive_schedule_a_line_7                   = 100.00,
                    forgive_schedule_a_line_8                   = 100.00,
                    forgive_schedule_a_line_9                   = 500.00,
                    forgive_schedule_a_line_10                  = 1000.00,
                    forgive_schedule_a_line_10_checkbox         = false,
                    forgive_schedule_a_line_11                  = 10,
                    forgive_schedule_a_line_12                  = 10,
                    forgive_schedule_a_line_13                  = 1,
                    forgive_covered_period_from                 = "2020-04-20",
                    forgive_covered_period_to                   = "2020-06-19",
                    forgive_alternate_covered_period_from       = "2020-04-20",
                    forgive_alternate_covered_period_to         = "2020-06-19",
                    forgive_2_million                           = false,
                    forgive_payroll_schedule                    = "WEEKLY",
                    primary_email                               = "*****@*****.**",
                    primary_name                                = "Jason",
                    ez_form                                     = false,
                    no_reduction_in_employees                   = false,
                    no_reduction_in_employees_and_covid_impact  = false,
                    forgive_lender_confirmation                 = true,
                    forgive_lender_decision                     = 1
                },
            };

            #endregion

            var response = await cSharpClientTest.createForgivenessRequest(pppLoanForgiveness);

            Assert.IsNotNull(response);

            string serialized = JsonConvert.SerializeObject(response,
                                                            new JsonSerializerSettings {
                DateFormatHandling = DateFormatHandling.IsoDateFormat
            });
            Assert.IsNotNull(serialized);
        }
 public Task <SbaPPPLoanForgiveness> execute(SbaPPPLoanForgiveness request, string loanForgivenessUrl)
 {
     Console.WriteLine("Processing Sba Loan Forgiveness request");
     return(sbaRestApiClient.CreateForgivenessRequest(request, loanForgivenessUrl));
 }