Ejemplo n.º 1
0
        /// <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()));
        }
Ejemplo n.º 2
0
        /// <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()));
        }
Ejemplo n.º 3
0
        /// <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));
        }
Ejemplo n.º 4
0
        /// <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()
                }
            });
        }
Ejemplo n.º 5
0
 /// <summary>
 /// RacunZahtjev class constructor
 /// </summary>
 public RacunZahtjev()
 {
     racunField     = new RacunType();
     zaglavljeField = new ZaglavljeType();
 }
Ejemplo n.º 6
0
 /// <summary>
 /// ProvjeraZahtjev class constructor
 /// </summary>
 public ProvjeraZahtjev()
 {
     racunField     = new RacunType();
     zaglavljeField = new ZaglavljeType();
 }
Ejemplo n.º 7
0
 /// <summary>
 /// ProvjeraOdgovor class constructor
 /// </summary>
 public ProvjeraOdgovor()
 {
     zaglavljeField = new ZaglavljeType();
     racunField     = new RacunType();
     greskeField    = new List <GreskaType>();
 }