Created ECN# autocomplete for PCR3 docs

This commit is contained in:
Chase Tucker
2025-01-23 07:44:12 -07:00
parent c4036471f7
commit 6a2bc0b4ab
6 changed files with 101 additions and 13 deletions

View File

@ -5,6 +5,7 @@ namespace MesaFabApproval.Client.Services;
public interface IECNService {
Task<string> ECNNumberIsValidStr(int ecnNumber);
Task<bool> ECNNumberIsValid(int number);
Task<IEnumerable<int>> GetAllECNNumbers();
}
public class ECNService : IECNService {
@ -49,4 +50,32 @@ public class ECNService : IECNService {
throw new Exception($"Unable to determine if {number} is a valid ECN#, because {ex.Message}");
}
}
public async Task<IEnumerable<int>> GetAllECNNumbers() {
try {
HttpClient httpClient = _httpClientFactory.CreateClient("API");
HttpRequestMessage requestMessage = new(HttpMethod.Get, $"ecn/allNumbers");
HttpResponseMessage responseMessage = await httpClient.SendAsync(requestMessage);
if (responseMessage.IsSuccessStatusCode) {
string responseContent = await responseMessage.Content.ReadAsStringAsync();
JsonSerializerOptions jsonSerializerOptions = new() {
PropertyNameCaseInsensitive = true
};
IEnumerable<int> allEcnNumbers =
JsonSerializer.Deserialize<IEnumerable<int>>(responseContent, jsonSerializerOptions) ??
new List<int>();
return allEcnNumbers;
} else {
throw new Exception(responseMessage.ReasonPhrase);
}
} catch (Exception ex) {
throw new Exception($"Unable to get all ECN#s, because {ex.Message}");
}
}
}