Skip to content

Commit

Permalink
Dodanie testów jednostkowych + refactoring kodu
Browse files Browse the repository at this point in the history
  • Loading branch information
jarmatys committed Sep 10, 2023
1 parent 613753e commit c207a93
Show file tree
Hide file tree
Showing 18 changed files with 365 additions and 196 deletions.
10 changes: 9 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1 +1,9 @@
TBD
### Changelog

#### Wersja 1.7.0
- [x] Refactoring kodu
- [x] Fix i stabilizacja w obrębie funkcji `IsActive`
- [x] Dodanie testów jednostkowych

#### Wersja 1.1.0 - 1.6.0
- [x] Wprowadzenie do nuget.org i ustabilizowanie paczki
42 changes: 42 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,45 @@ public Konstruktor(IRegonClient regonClient)
## Metody
- GetCompanyDataByNip(string nip)
- GetCompanyDataByKrs(string krs)

## Przykładowa odpowiedź z `RegonClient`

```json
{
"Nip": "7010790303",
"Krs": "",
"Name": "RK RECOVERY SPÓŁKA AKCYJNA",
"Street": "Plac Konesera",
"City": "Warszawa",
"BuildingNumber": "10 A",
"FlatNumber": "",
"PostCode": "03-736",
"REGON": "369010805",
"Commune": "Praga-Północ",
"District": "Warszawa",
"Voivodeship": "MAZOWIECKIE",
"LegalForm": 3,
"MainPkd": "6920Z",
"StartDate": "2017-12-15T00:00:00",
"EndDate": null,
"IsSuspended": false,
"IsActive": true,
"PhoneNumber": null,
"Email": null,
"WebsiteUrl": null,
"Pkds": [
{
"Value": "6920Z",
"Name": "DZIAŁALNOŚĆ RACHUNKOWO-KSIĘGOWA; DORADZTWO PODATKOWE"
},
{
"Value": "6910Z",
"Name": "DZIAŁALNOŚĆ PRAWNICZA"
}
]
}
```

### Szukasz pomocy w implementacji klienta REGON we własnym projekcie?

Skontaktuj się ze mną korzystając z danych na stronie [armatys.me](https://armatys.me).
57 changes: 57 additions & 0 deletions REGON.Client/Client.AdvanceReport.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
using REGON.Client.Enums;
using REGON.Client.Models;

namespace REGON.Client;

public partial class Client
{
private async Task<AdvanceReportData> GetAdvanceReportData(LegalForm legalForm, string regon)
{
switch (legalForm)
{
case LegalForm.JDG:
case LegalForm.SC:
return await GetReportForPhyisicalPerson(regon);
case LegalForm.SPZOO:
case LegalForm.SA:
case LegalForm.SPZOOSK:
case LegalForm.SJ:
case LegalForm.SKA:
case LegalForm.SK:
return await GetReportForLegalPerson(regon);
case LegalForm.ERROR:
default:
return null;
}
}

private async Task<AdvanceReportData> GetReportForPhyisicalPerson(string regon)
{
var fullReport = await _httpClient.PobierzPelnyRaportCeidg(regon);

return new AdvanceReportData
{
StartDate = ClientHelpers.GetDate(fullReport.Dane.FizDataPowstania),
EndDate = ClientHelpers.GetDate(fullReport.Dane.FizDataZakonczeniaDzialalnosci),
IsSuspended = ClientHelpers.IsHappened(fullReport.Dane.FizDataZawieszeniaDzialalnosci),
PhoneNumber = ClientHelpers.ValueOrNull(fullReport.Dane.FizNumerTelefonu),
WebsiteUrl = ClientHelpers.ValueOrNull(fullReport.Dane.FizAdresStronyinternetowej),
Email = ClientHelpers.ValueOrNull(fullReport.Dane.FizAdresEmail)
};
}

private async Task<AdvanceReportData> GetReportForLegalPerson(string regon)
{
var fullReport = await _httpClient.PobierzPelnyRaportPrawna(regon);

return new AdvanceReportData
{
StartDate = ClientHelpers.GetDate(fullReport.Dane.PrawDataPowstania),
EndDate = ClientHelpers.GetDate(fullReport.Dane.PrawDataZakonczeniaDzialalnosci),
IsSuspended = ClientHelpers.IsHappened(fullReport.Dane.PrawDataZawieszeniaDzialalnosci),
PhoneNumber = ClientHelpers.ValueOrNull(fullReport.Dane.PrawNumerTelefonu),
WebsiteUrl = ClientHelpers.ValueOrNull(fullReport.Dane.PrawAdresStronyinternetowej),
Email = ClientHelpers.ValueOrNull(fullReport.Dane.PrawAdresEmail)
};
}
}
71 changes: 71 additions & 0 deletions REGON.Client/Client.Pkds.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
using REGON.Client.Enums;
using REGON.Client.Models;

namespace REGON.Client;

public partial class Client
{
private async Task<PkdModel> GetPkdForPhysicalPerson(string regon)
{
var pkds = await _httpClient.PobierzPkdFizyczna(regon);

var result = new PkdModel();
var pkdList = new List<Pkd>();

foreach (var pkd in pkds.Dane)
{
if (pkd.FizPkdPrzewazajace == 1)
{
result.MainPkd = new Pkd { Value = pkd.FizPkdKod, Name = pkd.FizPkdNazwa };
}

pkdList.Add(new Pkd { Value = pkd.FizPkdKod, Name = pkd.FizPkdNazwa });
}

result.RestPkds = pkdList;

return result;
}

private async Task<PkdModel> GetPkdForLegalPerson(string regon)
{
var pkds = await _httpClient.PobierzPKDPrawna(regon);

var result = new PkdModel();
var pkdList = new List<Pkd>();

foreach (var pkd in pkds.Dane)
{
if (pkd.PrawPkdPrzewazajace == 1)
{
result.MainPkd = new Pkd { Value = pkd.PrawPkdKod, Name = pkd.PrawPkdNazwa };
}

pkdList.Add(new Pkd { Value = pkd.PrawPkdKod, Name = pkd.PrawPkdNazwa });
}

result.RestPkds = pkdList;

return result;
}

private async Task<PkdModel> GetPkds(LegalForm legalForm, string regon)
{
switch (legalForm)
{
case LegalForm.JDG:
case LegalForm.SC:
return await GetPkdForPhysicalPerson(regon);
case LegalForm.SPZOO:
case LegalForm.SA:
case LegalForm.SPZOOSK:
case LegalForm.SJ:
case LegalForm.SKA:
case LegalForm.SK:
return await GetPkdForLegalPerson(regon);
case LegalForm.ERROR:
default:
return null;
}
}
}
Loading

0 comments on commit c207a93

Please sign in to comment.