示例#1
0
        private void RacunPrimjer(string oib)
        {
            Raverus.FiskalizacijaDEV.CentralniInformacijskiSustav cis = new CentralniInformacijskiSustav();

            Raverus.FiskalizacijaDEV.Schema.RacunType racun = GetRacun(oib);

            XmlDocument doc = cis.PosaljiRacun(racun, "FISKAL 1");
        }
示例#2
0
        private void ProvjeraPotpisa(string oib)
        {
            Raverus.FiskalizacijaDEV.CentralniInformacijskiSustav cis = new CentralniInformacijskiSustav();

            Raverus.FiskalizacijaDEV.Schema.RacunType racun = GetRacun(oib);

            XmlDocument doc = cis.PosaljiRacun(racun, "FISKAL 1");

            bool potpisTest = Raverus.FiskalizacijaDEV.PopratneFunkcije.Potpisivanje.ProvjeriPotpis(doc);
        }
示例#3
0
        private void AutomatskoSnimanjeDatoteka(string oib)
        {
            Raverus.FiskalizacijaDEV.CentralniInformacijskiSustav cis = new CentralniInformacijskiSustav()
            {
                NazivMapeZahtjev = @"D:\Users\Nino\Desktop\Zahtjevi", NazivMapeOdgovor = @"D:\Users\Nino\Desktop\Odgovori", NazivAutoGeneriranje = true
            };

            Raverus.FiskalizacijaDEV.Schema.RacunType racun = GetRacun(oib);

            XmlDocument doc = cis.PosaljiRacun(racun, "FISKAL 1");
        }
示例#4
0
        private void DohvatiJir(string oib)
        {
            Raverus.FiskalizacijaDEV.CentralniInformacijskiSustav cis = new CentralniInformacijskiSustav();

            Raverus.FiskalizacijaDEV.Schema.RacunType racun = GetRacun(oib);

            XmlDocument doc = cis.PosaljiRacun(racun, "FISKAL 1");

            if (doc != null)
            {
                string jir = Raverus.FiskalizacijaDEV.PopratneFunkcije.XmlDokumenti.DohvatiJir(doc);
            }
        }
示例#5
0
        private void SnimiDokumentUDatoteku(string oib)
        {
            Raverus.FiskalizacijaDEV.CentralniInformacijskiSustav cis = new CentralniInformacijskiSustav();

            Raverus.FiskalizacijaDEV.Schema.RacunType racun = GetRacun(oib);


            Schema.RacunZahtjev zahtjev    = PopratneFunkcije.XmlDokumenti.KreirajRacunZahtjev(racun);
            XmlDocument         zahtjevXml = PopratneFunkcije.XmlDokumenti.SerijalizirajRacunZahtjev(zahtjev);

            PopratneFunkcije.Potpisivanje.PotpisiXmlDokument(zahtjevXml, PopratneFunkcije.Potpisivanje.DohvatiCertifikat("FISKAL 1"));
            PopratneFunkcije.XmlDokumenti.DodajSoapEnvelope(ref zahtjevXml);

            Raverus.FiskalizacijaDEV.PopratneFunkcije.XmlDokumenti.SnimiXmlDokumentDatoteka(zahtjevXml, @"D:\Users\Nino\Desktop\Zahtjev.xml");

            XmlDocument doc = cis.PosaljiSoapPoruku(zahtjevXml);

            Raverus.FiskalizacijaDEV.PopratneFunkcije.XmlDokumenti.SnimiXmlDokumentDatoteka(doc, @"D:\Users\Nino\Desktop\Odgovor.xml");
        }
示例#6
0
        private void Fiskalizacija2()
        {
            Raverus.FiskalizacijaDEV.CentralniInformacijskiSustav cis = new CentralniInformacijskiSustav();

            Raverus.FiskalizacijaDEV.Schema.RacunType racun = new Raverus.FiskalizacijaDEV.Schema.RacunType();
            racun.Oib        = "47165970760";
            racun.USustPdv   = true;
            racun.DatVrijeme = Raverus.FiskalizacijaDEV.PopratneFunkcije.Razno.DohvatiFormatiranoTrenutnoDatumVrijeme();
            racun.OznSlijed  = Raverus.FiskalizacijaDEV.Schema.OznakaSlijednostiType.P;

            Raverus.FiskalizacijaDEV.Schema.BrojRacunaType broj = new Raverus.FiskalizacijaDEV.Schema.BrojRacunaType();
            broj.BrOznRac = "1";
            broj.OznPosPr = "123";
            broj.OznNapUr = "1";
            racun.BrRac   = broj;

            Raverus.FiskalizacijaDEV.Schema.PorezType porez25 = new Raverus.FiskalizacijaDEV.Schema.PorezType();
            porez25.Stopa    = "25.00";
            porez25.Osnovica = "10.00";
            porez25.Iznos    = "2.50";

            Raverus.FiskalizacijaDEV.Schema.PorezType porez0 = new Raverus.FiskalizacijaDEV.Schema.PorezType();
            porez0.Stopa    = "0.00";
            porez0.Osnovica = "10.00";
            porez0.Iznos    = "0.00";

            racun.Pdv.Add(porez25);
            racun.Pdv.Add(porez0);

            racun.IznosUkupno = "22.50";
            racun.NacinPlac   = Raverus.FiskalizacijaDEV.Schema.NacinPlacanjaType.G;
            racun.OibOper     = "47165970760";
            racun.ZastKod     = "e4d909c290d0fb1ca068ffaddf22cbd0";
            racun.NakDost     = false;

            XmlDocument doc = cis.PosaljiRacun(racun, "FISKAL 1");

            doc.Save("D:/ddd.xml");
        }
示例#7
0
        private void TimeOutPrimjer(string oib)
        {
            Raverus.FiskalizacijaDEV.CentralniInformacijskiSustav cis = new CentralniInformacijskiSustav();

            cis.TimeOut = 10;   // postavljamo timeout na 10 ms

            Raverus.FiskalizacijaDEV.Schema.RacunType racun = GetRacun(oib);

            try
            {
                XmlDocument doc = cis.PosaljiRacun(racun, "FISKAL 1");
                if (doc != null)
                {
                    string jir = Raverus.FiskalizacijaDEV.PopratneFunkcije.XmlDokumenti.DohvatiJir(doc);
                    MessageBox.Show(jir);
                }
            }
            catch (Exception ex)
            {
                if (cis.OdgovorGreskaStatus != null && cis.OdgovorGreskaStatus == System.Net.WebExceptionStatus.Timeout)
                {
                    MessageBox.Show("Timeout");
                }

                if (cis.OdgovorGreska != null)
                {
                    MessageBox.Show(cis.OdgovorGreska.InnerXml);
                    MessageBox.Show(Raverus.FiskalizacijaDEV.PopratneFunkcije.XmlDokumenti.DohvatiSifruGreske(cis.OdgovorGreska, PopratneFunkcije.TipDokumentaEnum.RacunOdgovor));
                    MessageBox.Show(Raverus.FiskalizacijaDEV.PopratneFunkcije.XmlDokumenti.DohvatiPorukuGreske(cis.OdgovorGreska, PopratneFunkcije.TipDokumentaEnum.RacunOdgovor));
                }
                else
                {
                    MessageBox.Show(String.Format("Greška: {0}", ex.Message));
                }
            }
        }
示例#8
0
        private void CertifikatDatoteka(string oib)
        {
            Raverus.FiskalizacijaDEV.CentralniInformacijskiSustav cis = new CentralniInformacijskiSustav();

            Raverus.FiskalizacijaDEV.Schema.RacunType racun = GetRacun(oib);

            X509Certificate2 cert = Raverus.FiskalizacijaDEV.PopratneFunkcije.Potpisivanje.DohvatiCertifikat(@"D:\Users\Nino\Desktop\Fiskalizacija\MojCert.pfx", "PASSWORD");

            if (cert != null)
            {
                // varijanta 1
                XmlDocument odgovor = cis.PosaljiRacun(racun, cert);


                // varijanta 2
                Schema.RacunZahtjev zahtjev    = PopratneFunkcije.XmlDokumenti.KreirajRacunZahtjev(racun);
                XmlDocument         zahtjevXml = PopratneFunkcije.XmlDokumenti.SerijalizirajRacunZahtjev(zahtjev);

                PopratneFunkcije.Potpisivanje.PotpisiXmlDokument(zahtjevXml, cert);
                PopratneFunkcije.XmlDokumenti.DodajSoapEnvelope(ref zahtjevXml);

                XmlDocument doc = cis.PosaljiSoapPoruku(zahtjevXml);
            }
        }
示例#9
0
        private void btnStartTest_Click(object sender, EventArgs e)
        {
            txtLog.Text = "";
            if (CheckCertificate())
            {
                if (CheckOib())
                {
                    if (CheckSsl())
                    {
                        Raverus.FiskalizacijaDEV.Schema.RacunType racun = GetRacun(certifikat);
                        if (racun != null)
                        {
                            progressBar1.Maximum = iterations * 3;
                            btnStartTest.Enabled = false;
                            stopWatch.Reset();
                            RefreshLog("ECHO test počinje...");
                            stopWatch.Start();
                            Raverus.FiskalizacijaDEV.CentralniInformacijskiSustav cis = new CentralniInformacijskiSustav();
                            for (int i = 0; i < iterations; i++)
                            {
                                cis.Echo();
                                Application.DoEvents();
                                progressBar1.PerformStep();
                            }
                            stopWatch.Stop();
                            echo = stopWatch.Elapsed.TotalSeconds;
                            RefreshLog(String.Format("ECHO test završen. Vrijeme: {0:n4}. Prosjek: {1:n4}", echo, echo / iterations));
                            RefreshLog("");

                            RefreshLog("Račun test počinje...");
                            RefreshLog("Kreiranje i potpisivanje računa...");
                            SortedList <int, XmlDocument> sl = new SortedList <int, XmlDocument>();
                            stopWatch.Reset();
                            stopWatch.Start();
                            for (int i = 0; i < iterations; i++)
                            {
                                Schema.RacunZahtjev zahtjev    = PopratneFunkcije.XmlDokumenti.KreirajRacunZahtjev(racun);
                                XmlDocument         zahtjevXml = PopratneFunkcije.XmlDokumenti.SerijalizirajRacunZahtjev(zahtjev);
                                PopratneFunkcije.Potpisivanje.PotpisiXmlDokument(zahtjevXml, certifikat);
                                PopratneFunkcije.XmlDokumenti.DodajSoapEnvelope(ref zahtjevXml);

                                sl.Add(i, zahtjevXml);

                                Application.DoEvents();
                                progressBar1.PerformStep();
                            }
                            stopWatch.Stop();
                            potpis = stopWatch.Elapsed.TotalSeconds;
                            RefreshLog(String.Format("Kreiranje i potpisivanje završeno. Vrijeme: {0:n4}. Prosjek: {1:n4}", potpis, potpis / iterations));
                            RefreshLog("");

                            RefreshLog("Slanje računa...");
                            stopWatch.Reset();
                            stopWatch.Start();
                            foreach (XmlDocument item in sl.Values)
                            {
                                cis.PosaljiSoapPoruku(item);
                                Application.DoEvents();
                                progressBar1.PerformStep();
                            }
                            stopWatch.Stop();
                            slanje = stopWatch.Elapsed.TotalSeconds;
                            RefreshLog(String.Format("Slanje računa završeno. Vrijeme: {0:n4}. Prosjek: {1:n4}", slanje, slanje / iterations));
                            RefreshLog("");

                            RefreshLog(String.Format("Račun test završen. Vrijeme: {0:n4}. Prosjek: {1:n4}", potpis + slanje, (potpis + slanje) / iterations));

                            btnStartTest.Enabled = true;
                            testFinished         = true;
                        }
                        else
                        {
                            MessageBox.Show("Greška kod kreiranja test računa.");
                        }
                    }
                    else
                    {
                        MessageBox.Show("Nije moguće uspostaviti SSL vezu prema CIS-u. Provjerite da li su potrebni certifikati uredno instalirani.");
                        DialogResult dire = MessageBox.Show("Želite li provjeriti status CIS-a?", "Status CIS-a", MessageBoxButtons.YesNo);
                        if (dire == DialogResult.Yes)
                        {
                            MessageBox.Show(Raverus.FiskalizacijaDEV.PopratneFunkcije.Razno.DohvatiStatusCisServisa().ToString());
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Greška kod dohvata OIB-a iz certifikata.");
                }
            }
        }