public static string ToMessage(this BiRVerifyStatus status) { switch (status) { case BiRVerifyStatus.IsActive: return(_activeOrg); case BiRVerifyStatus.IsNotActive: return(_nonActiveOrg); case BiRVerifyStatus.NipIncorrect: return(_nipNotCorrect); case BiRVerifyStatus.NoSession: return(_noSession); case BiRVerifyStatus.Error: return(_error); case BiRVerifyStatus.TooManyIds: return(_tooManyIds); case BiRVerifyStatus.NotFound: return(_notFound); case BiRVerifyStatus.ErroneusOrEmptyReportName: return(_erroneusOrEmptyReportName); case BiRVerifyStatus.NoSearchYet: return(_noSearchYet); case BiRVerifyStatus.CompanyIsNull: return(_companyIsNull); default: return(string.Empty); } }
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); }
public BiRVerifyResult(BiRVerifyStatus status) { BiRVerifyStatus = status; _message = BiRVerifyStatus.ToMessage(); }