Пример #1
0
        private void buttonSearch_Click(object sender, EventArgs e)
        {
            labelErrorMsg.Visible = false;

            UslugaBIRzewnPublClient polaczenie = new UslugaBIRzewnPublClient();
            string sid = polaczenie.Zaloguj("abcde12345abcde12345");

            try
            {
                //Środowisko testowe usługi BIR1.1
                OperationContextScope scope = new OperationContextScope(polaczenie.InnerChannel);

                HttpRequestMessageProperty requestMessageProperty = new HttpRequestMessageProperty();
                requestMessageProperty.Headers.Add("sid", sid);

                OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = requestMessageProperty;

                StringBuilder sb = new StringBuilder();
                foreach (object o in listBoxNIP.SelectedItems)
                {
                    sb.AppendLine(o.ToString());
                }
                string s = sb.ToString();

                ParametryWyszukiwania parametryWyszukiwania = new ParametryWyszukiwania();
                parametryWyszukiwania.Nipy = s;

                DataSet      dataSet = new DataSet();
                StringReader sr      = new StringReader(polaczenie.DaneSzukajPodmioty(parametryWyszukiwania));

                string przekazanieKomunikatu = polaczenie.GetValue("KomunikatKod");
                int    zwracanaWartosc       = Convert.ToInt32(przekazanieKomunikatu);

                dataSet.ReadXml(sr);

                PrepareDataGridView1ForData();

                if (zwracanaWartosc == 4)
                {
                    labelErrorMsg.Visible = true;
                    labelErrorMsg.Text    = "Nie znaleziono żadnych podmiotów gospodarczych.";
                }

                else
                {
                    dataGridView1.AutoGenerateColumns = false;
                    dataGridView1.ColumnCount         = 6;

                    dataGridView1.Columns[0].Name             = "Regon";
                    dataGridView1.Columns[0].HeaderText       = "REGON";
                    dataGridView1.Columns[0].DataPropertyName = "Regon";

                    dataGridView1.Columns[1].HeaderText       = "Nip";
                    dataGridView1.Columns[1].Name             = "NIP";
                    dataGridView1.Columns[1].DataPropertyName = "Nip";

                    dataGridView1.Columns[2].Name             = "Nazwa";
                    dataGridView1.Columns[2].HeaderText       = "Nazwa";
                    dataGridView1.Columns[2].DataPropertyName = "Nazwa";

                    dataGridView1.Columns[3].Name             = "Ulica";
                    dataGridView1.Columns[3].HeaderText       = "Ulica";
                    dataGridView1.Columns[3].DataPropertyName = "Ulica";

                    dataGridView1.Columns[4].Name             = "Miejscowosc";
                    dataGridView1.Columns[4].HeaderText       = "Miejscowość";
                    dataGridView1.Columns[4].DataPropertyName = "Miejscowosc";

                    dataGridView1.Columns[5].Name             = "KodPocztowy";
                    dataGridView1.Columns[5].HeaderText       = "Kod Pocztowy";
                    dataGridView1.Columns[5].DataPropertyName = "KodPocztowy";

                    dataGridView1.DataSource = dataSet.Tables[0];
                }
            }
            catch (Exception)
            {
                string error   = "Usługa BIR1 niedostępna lub żaden identyfikator NIP nie został dodany do listy wyszukiwania.";
                string caption = "Błąd";
                MessageBox.Show(error, caption, MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            polaczenie.Wyloguj(sid);
        }
Пример #2
0
        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);
        }