Skip to content

Commit 42f64d9

Browse files
Limitied non-priority npa-nxx combinations to 100 numbers.
1 parent 00ef0d0 commit 42f64d9

File tree

3 files changed

+20
-10
lines changed

3 files changed

+20
-10
lines changed

NumberSearch.DataAccess/BulkVS/OrderTn.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,14 @@ public readonly record struct OrderTn
2323
string Nrc
2424
)
2525
{
26-
public static async ValueTask<OrderTn[]> GetRawAsync(int npa, int nxx, ReadOnlyMemory<char> username, ReadOnlyMemory<char> password)
26+
public static async ValueTask<OrderTn[]> GetRawAsync(int npa, int nxx, int limit, ReadOnlyMemory<char> username, ReadOnlyMemory<char> password)
2727
{
2828
string baseUrl = "https://portal.bulkvs.com/api/v1.0/";
2929
string endpoint = "orderTn";
3030
string npaParameter = $"?Npa={npa:000}";
3131
string nxxParameter = PhoneNumbersNA.AreaCode.ValidNXX(nxx) ? $"&Nxx={nxx:000}" : string.Empty;
3232
string route = $"{baseUrl}{endpoint}{npaParameter}{nxxParameter}";
33+
if (limit > 0) { route += $"&Limit={limit}"; }
3334
try
3435
{
3536
return await route.WithBasicAuth(username.ToString(), password.ToString()).GetJsonAsync<OrderTn[]>();
@@ -44,7 +45,7 @@ public static async ValueTask<OrderTn[]> GetRawAsync(int npa, int nxx, ReadOnlyM
4445

4546
public static async Task<PhoneNumber[]> GetAsync(int inNpa, ReadOnlyMemory<char> username, ReadOnlyMemory<char> password)
4647
{
47-
OrderTn[] results = await GetRawAsync(inNpa, default, username, password);
48+
OrderTn[] results = await GetRawAsync(inNpa, default, 0, username, password);
4849
List<PhoneNumber> output = [];
4950

5051
// Bail out early if something is wrong.
@@ -76,9 +77,9 @@ public static async Task<PhoneNumber[]> GetAsync(int inNpa, ReadOnlyMemory<char>
7677
return [.. output];
7778
}
7879

79-
public static async Task<PhoneNumber[]> GetAsync(int inNpa, int inNxx, ReadOnlyMemory<char> username, ReadOnlyMemory<char> password)
80+
public static async Task<PhoneNumber[]> GetAsync(int inNpa, int inNxx, int limit, ReadOnlyMemory<char> username, ReadOnlyMemory<char> password)
8081
{
81-
OrderTn[] results = await GetRawAsync(inNpa, inNxx, username, password);
82+
OrderTn[] results = await GetRawAsync(inNpa, inNxx, limit, username, password);
8283
List<PhoneNumber> output = [];
8384

8485
// Bail out early if something is wrong.

NumberSearch.Ingest/Provider.cs

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,18 @@ public static async Task<IngestStatistics> BulkVSAsync(ReadOnlyMemory<char> user
6666
{
6767
try
6868
{
69-
var results = await OrderTn.GetAsync(code, nxx, username, password);
70-
numbers.AddRange(results);
71-
Log.Information("[BulkVS] Found {Count} Phone Numbers for {Code}, {NXX}", results.Length, code, nxx);
69+
if (AreaCode.Priority.Contains(code))
70+
{
71+
var results = await OrderTn.GetAsync(code, nxx, 0, username, password);
72+
numbers.AddRange(results);
73+
Log.Information("[BulkVS] Found {Count} Phone Numbers for {Code}, {NXX}", results.Length, code, nxx);
74+
}
75+
else
76+
{
77+
var results = await OrderTn.GetAsync(code, nxx, 100, username, password);
78+
numbers.AddRange(results);
79+
Log.Information("[BulkVS] Found {Count} Phone Numbers for {Code}, {NXX}", results.Length, code, nxx);
80+
}
7281
}
7382
catch (Exception ex)
7483
{
@@ -329,7 +338,7 @@ public static async Task VerifyAddToCartAsync(int[] areaCodes, ReadOnlyMemory<ch
329338
string npanxx = $"{phoneNumber.NPA}{phoneNumber.NXX}";
330339
try
331340
{
332-
var doesItStillExist = await OrderTn.GetAsync(phoneNumber.NPA, phoneNumber.NXX, _bulkVSusername, _bulkVSpassword);
341+
var doesItStillExist = await OrderTn.GetAsync(phoneNumber.NPA, phoneNumber.NXX, 0, _bulkVSusername, _bulkVSpassword);
333342
var checkIfExists = doesItStillExist.Where(x => x.DialedNumber == phoneNumber.DialedNumber).FirstOrDefault();
334343
if (checkIfExists is not null && checkIfExists?.DialedNumber == phoneNumber.DialedNumber)
335344
{

NumberSearch.Mvc/Controllers/CartAPIController.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -673,7 +673,7 @@ public async Task<IActionResult> BuyPhoneNumberAsync(string dialedPhoneNumber)
673673
if (phoneNumber.IngestedFrom == "BulkVS")
674674
{
675675
var npanxx = $"{phoneNumber.NPA}{phoneNumber.NXX}";
676-
var doesItStillExist = await OrderTn.GetAsync(phoneNumber.NPA, phoneNumber.NXX, _bulkVSusername.AsMemory(), _bulkVSpassword.AsMemory());
676+
var doesItStillExist = await OrderTn.GetAsync(phoneNumber.NPA, phoneNumber.NXX, 0, _bulkVSusername.AsMemory(), _bulkVSpassword.AsMemory());
677677
var checkIfExists = doesItStillExist.Where(x => x.DialedNumber == phoneNumber.DialedNumber).FirstOrDefault();
678678
if (checkIfExists != null && checkIfExists?.DialedNumber == phoneNumber.DialedNumber)
679679
{
@@ -1152,7 +1152,7 @@ public async Task<IActionResult> AddCouponAsync(string couponName, int Quantity)
11521152
var input = couponName.Trim().ToLowerInvariant();
11531153

11541154
// Drop everything that's not a letter or number.
1155-
input = new string(input.Where(c => char.IsLetterOrDigit(c)).ToArray());
1155+
input = new string([.. input.Where(c => char.IsLetterOrDigit(c))]);
11561156

11571157
var coupons = await Coupon.GetAllAsync(_postgresql).ConfigureAwait(false);
11581158

0 commit comments

Comments
 (0)