/// <summary>Šalje Račun poruku u CIS</summary> /// <param name="invoice">Objekt tipa RacunType koji sadrži informacije o računu</param> /// <param name="certificateName">Naziv certifikata koji se koristi, na primjer "FISKAL 1".</param> /// <returns>XML poruka vraćena od CIS-a</returns> /// <exception cref="ArgumentNullException">Ulazni parametar nije zadan</exception> /// <exception cref="ArgumentException">Elementi ulaznog parametra nisu zadani</exception> /// <exception cref="ApplicationException">Greška u procesu potpisivanja</exception> /// <exception cref="XmlException">Greška prilikom parsiranja</exception> /// <exception cref="KeyNotFoundException">Certifikat nije pronađen</exception> /// <exception cref="UriFormatException">Nije moguće ostvariti vezu prema CIS web servisu</exception> /// <exception cref="NotSupportedException">Web servis odbija vezu</exception> /// <exception cref="System.Security.SecurityException">Nedovoljna prava pristupa web servisu</exception> /// <exception cref="ServerException">Greška prilikom komunikacije ili tijekom dijaloga s web servisom</exception> internal XmlDocument SendInvoice(RacunType invoice, string certificateName) { RacunZahtjev request = RacunZahtjev.GetInitialized(invoice); lastMessageId = request.Zaglavlje.IdPoruke; return(SignEnvelopAndSendRequest(certificateName, request.SerializeToXmlDocument())); }
/// <summary>Šalje Provjera poruku u test CIS</summary> /// <param name="invoice">Objekt tipa RacunType koji sadrži informacije o računu koji se testira</param> /// <param name="certificateFilenameAndPath">Naziv i puna adresa .pfx datoteke.</param> /// <param name="certificatePassword">Lozinka za pristup .pfx datoteci.</param> /// <returns>XML poruka vraćena od test CIS-a</returns> /// <exception cref="ArgumentNullException">Ulazni parametar nije zadan</exception> /// <exception cref="ArgumentException">Elementi ulaznog parametra nisu zadani</exception> /// <exception cref="ApplicationException">Greška u procesu potpisivanja</exception> /// <exception cref="XmlException">Greška prilikom parsiranja</exception> /// <exception cref="FileNotFoundException">Datoteka ne postoji</exception> /// <exception cref="KeyNotFoundException">Certifikat nije moguće dohvatiti</exception> /// <exception cref="UriFormatException">Nije moguće ostvariti vezu prema CIS web servisu</exception> /// <exception cref="NotSupportedException">Web servis odbija vezu</exception> /// <exception cref="System.Security.SecurityException">Nedovoljna prava pristupa web servisu</exception> /// <exception cref="ServerException">Greška prilikom komunikacije ili tijekom dijaloga s web servisom</exception> internal XmlDocument SendCheck(RacunType invoice, string certificateFilenameAndPath, string certificatePassword) { ProvjeraZahtjev request = ProvjeraZahtjev.GetInitialized(invoice); lastMessageId = request.Zaglavlje.IdPoruke; return(SignEnvelopAndSendRequest(certificateFilenameAndPath, certificatePassword, request.SerializeToXmlDocument())); }
/// <summary>Šalje Provjera poruku u testni CIS. Ukoliko zaštitni kod izdavatelja (ZKI) nije upisan, generira se prije slanja</summary> /// <param name="invoice">Objekt tipa RacunType koji sadrži informacije o računu koji se testira</param> /// <param name="certificateFilenameAndPath">Naziv i puna adresa .pfx datoteke.</param> /// <param name="certificatePassword">Lozinka za pristup .pfx datoteci.</param> /// <returns>XML poruka vraćena od testnog CIS-a</returns> /// <exception cref="ArgumentNullException">Ulazni parametar nije zadan</exception> /// <exception cref="ArgumentException">Elementi ulaznog parametra nisu zadani</exception> /// <exception cref="ApplicationException">Greška u procesu potpisivanja</exception> /// <exception cref="XmlException">Greška prilikom parsiranja</exception> /// <exception cref="FileNotFoundException">Datoteka ne postoji</exception> /// <exception cref="KeyNotFoundException">Certifikat nije moguće dohvatiti</exception> /// <exception cref="UriFormatException">Nije moguće ostvariti vezu prema CIS web servisu</exception> /// <exception cref="NotSupportedException">Web servis odbija vezu</exception> /// <exception cref="System.Security.SecurityException">Nedovoljna prava pristupa web servisu</exception> /// <exception cref="ServerException">Greška prilikom komunikacije ili tijekom dijaloga s web servisom</exception> public XmlDocument SendCheck(RacunType invoice, string certificateFilenameAndPath, string certificatePassword) { if (string.IsNullOrEmpty(invoice.ZastKod)) { invoice.ZastKod = Helper.GenerateSafetyCode(certificateFilenameAndPath, certificatePassword, invoice.Oib, invoice.DatVrijeme, invoice.BrRac.BrOznRac, invoice.BrRac.OznPosPr, invoice.BrRac.OznNapUr, invoice.IznosUkupno); } return(_soapMessenger.SendCheck(invoice, certificateFilenameAndPath, certificatePassword)); }
/// <summary>Generira novi inicijalizirani RacunZahtjev</summary> /// <param name="invoice">Račun</param> /// <returns>Inicijalizirani RacunZahtjev</returns> /// <exception cref="ArgumentNullException">Ulazni parametar nije zadan</exception> public static RacunZahtjev GetInitialized(RacunType invoice) { #region Input parameter testing if (invoice == null) { throw new ArgumentNullException("invoice", "Method: RacunZahtjev.GetInitialized Parameter: invoice"); } #endregion return(new RacunZahtjev { Id = "signXmlId", Racun = invoice, Zaglavlje = new ZaglavljeType() { DatumVrijeme = (!invoice.NakDost ? invoice.DatVrijeme : Helper.FormatDateTimeToCisDateTimeFormat(DateTime.Now, false)), IdPoruke = Helper.GenerateGuidString() } }); }
/// <summary> /// RacunZahtjev class constructor /// </summary> public RacunZahtjev() { racunField = new RacunType(); zaglavljeField = new ZaglavljeType(); }
/// <summary> /// ProvjeraZahtjev class constructor /// </summary> public ProvjeraZahtjev() { racunField = new RacunType(); zaglavljeField = new ZaglavljeType(); }
/// <summary> /// ProvjeraOdgovor class constructor /// </summary> public ProvjeraOdgovor() { zaglavljeField = new ZaglavljeType(); racunField = new RacunType(); greskeField = new List <GreskaType>(); }