public void downloadPublDaneRaportFizycznaOsoba(string regon) { if (regon != "") { if (!File.Exists(xmlPath + "\\PublDaneRaportFizycznaOsoba\\" + regon + ".xml")) { string AdresUslugi = "https://wyszukiwarkaregon.stat.gov.pl/wsBIR/UslugaBIRzewnPubl.svc"; WSHttpBinding myBinding = new WSHttpBinding(); myBinding.Security.Mode = SecurityMode.Transport; myBinding.Security.Transport.ClientCredentialType = HttpClientCredentialType.None; myBinding.MessageEncoding = WSMessageEncoding.Mtom; EndpointAddress ea = new EndpointAddress(AdresUslugi); UslugaBIRzewnPublClient cc = new UslugaBIRzewnPublClient(myBinding, ea); cc.Open(); string strSID = cc.Zaloguj(bir1Key); using (OperationContextScope scope = new OperationContextScope(cc.InnerChannel)) { HttpRequestMessageProperty requestMessage = new HttpRequestMessageProperty(); requestMessage.Headers.Add("sid", strSID); OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = requestMessage; //Szukaj ParametryWyszukiwania objParametryGR1 = new ParametryWyszukiwania(); string xmlFullRaport = cc.DanePobierzPelnyRaport(regon, "PublDaneRaportFizycznaOsoba"); File.WriteAllText(xmlPath + "\\PublDaneRaportFizycznaOsoba\\" + regon + ".xml", xmlFullRaport); } } } }
public BiRCompany GetCompany(string nip) { try { _lastVerifyStatus = BiRVerifyStatus.NoSearchYet; var paramse = new ParametryWyszukiwania(); paramse.Nip = nip; string errorCode; if (couter == 24) { Init(); couter = 0; } string result = _client.DaneSzukajPodmioty(paramse); couter++; if (BiRResponseXMLParser.IsResponseEmpty(result) || BiRResponseXMLParser.ContainsError(result)) { errorCode = _client.GetValue(_codeOfMessageFromService); Console.WriteLine(errorCode); if (string.IsNullOrEmpty(errorCode) || errorCode.Equals(_errCodeForNoSession)) { LogIn(false); result = _client.DaneSzukajPodmioty(paramse); if (BiRResponseXMLParser.IsResponseEmpty(result) || BiRResponseXMLParser.ContainsError(result)) { errorCode = _client.GetValue(_codeOfMessageFromService); } } if (!errorCode.Equals(_errCodeForEverythingOK)) { _lastVerifyStatus = GetStatusFromErrorCode(errorCode, result); return(null); } } BiRCompany company = BiRResponseXMLParser.GetCompanyFromDaneSzukajPodmiotyResponse(result); // "P" = Typ podmiotu rejestru REGON: jednostka prawna(= osoba prawna lub jednostka organizacyjna // nieposiadająca osobowości prawnej, np.spółka cywilna) if (company.Type == _prawnaCompanyType) { company.CompanyType = BiRCompanyType.Prawna; result = _client.DanePobierzPelnyRaport(company.Regon, _raportOsPrawnaName); if (BiRResponseXMLParser.IsResponseEmpty(result) || BiRResponseXMLParser.ContainsError(result)) { errorCode = _client.GetValue(_codeOfMessageFromService); if (string.IsNullOrEmpty(errorCode) || errorCode.Equals(_errCodeForNoSession)) { LogIn(false); result = _client.DanePobierzPelnyRaport(company.Regon, _raportOsPrawnaName); if (BiRResponseXMLParser.IsResponseEmpty(result) || BiRResponseXMLParser.ContainsError(result)) { errorCode = _client.GetValue(_codeOfMessageFromService); } } if (!errorCode.Equals(_errCodeForEverythingOK)) { _lastVerifyStatus = GetStatusFromErrorCode(errorCode, result); return(null); } } BiRResponseXMLParser.AddDanePrawna(ref company, result); } // Typ podmiotu rejestru REGON: jedn. fizyczna (= os. fizyczna prowadząca działalność gospodarczą) else if (company.Type == _osFizycznaCompanyType && company.SilosID == _dzialnoscWpisanaDoCedigSilosType) { company.CompanyType = BiRCompanyType.FizycznaProwadzacaDzialalnoscGosp; result = _client.DanePobierzPelnyRaport(company.Regon, _raportOsFizCedigName); if (BiRResponseXMLParser.IsResponseEmpty(result) || BiRResponseXMLParser.ContainsError(result)) { errorCode = _client.GetValue(_codeOfMessageFromService); if (string.IsNullOrEmpty(errorCode) || errorCode.Equals(_errCodeForNoSession)) { LogIn(false); result = _client.DanePobierzPelnyRaport(company.Regon, _raportOsFizCedigName); if (BiRResponseXMLParser.IsResponseEmpty(result) || BiRResponseXMLParser.ContainsError(result)) { errorCode = _client.GetValue(_codeOfMessageFromService); } } if (!errorCode.Equals(_errCodeForEverythingOK)) { _lastVerifyStatus = GetStatusFromErrorCode(errorCode, result); return(null); } } BiRResponseXMLParser.AddDaneFizycznaCedig(ref company, result); } else { // inaczej może być jeszcze LP i LF, czyli jednostek lokalnych throw new ArgumentOutOfRangeException(result, "Zapytanie zwróciło nieobsługiwany typ podmiotu tj. typ = " + company.Type + " , silos = " + company.SilosID); } return(company); } catch (Exception e) { } return(null); }