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"); }
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); }
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"); }
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); } }
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"); }
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"); }
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)); } } }
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); } }
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."); } } }