Example #1
0
File: Util.cs Project: Zvonetg/Test
        public static void ParseSafetyKeyInput(List <string> parameters, out RacunType invoice, out string[] certificateParams)
        {
            invoice           = new RacunType();
            invoice.BrRac     = new BrojRacunaType();
            certificateParams = null;
            for (int i = 0; i < parameters.Count; i++)
            {
                switch (i + 1)
                {
                case 1:
                    invoice.Oib = parameters[i];
                    break;

                case 2:
                    invoice.DatVrijeme = parameters[i];
                    break;

                case 3:
                    invoice.BrRac.BrOznRac = parameters[i];
                    break;

                case 4:
                    invoice.BrRac.OznPosPr = parameters[i];
                    break;

                case 5:
                    invoice.BrRac.OznNapUr = parameters[i];
                    break;

                case 6:
                    invoice.IznosUkupno = parameters[i];
                    break;

                case 7:
                    certificateParams = (parameters[i] == "1" ? new string[1] : new string[2]);
                    break;

                case 8:
                    if (!string.IsNullOrEmpty(parameters[i]) && certificateParams.Length == 1)
                    {
                        certificateParams[0] = parameters[i];
                    }
                    break;

                case 9:
                    if (!string.IsNullOrEmpty(parameters[i]) && certificateParams.Length == 2)
                    {
                        certificateParams[0] = parameters[i];
                    }
                    break;

                case 10:
                    if (!string.IsNullOrEmpty(parameters[i]) && certificateParams.Length == 2)
                    {
                        certificateParams[1] = parameters[i];
                    }
                    break;
                }
            }
        }
Example #2
0
        private RacunType GetDefaultInvoice()
        {
            var invoice = new RacunType()
            {
                BrRac = new BrojRacunaType()
                {
                    BrOznRac = "1",
                    OznPosPr = "1",
                    OznNapUr = "1"
                },
                DatVrijeme  = DateTime.Now.ToString("dd'.'MM'.'yyyy'T'HH':'mm':'ss"),
                IznosUkupno = 3.ToString("N2", CultureInfo.InvariantCulture),
                NacinPlac   = NacinPlacanjaType.G,
                NakDost     = false,
                Oib         = "07989965722",
                OibOper     = "98642375382",
                OznSlijed   = OznakaSlijednostiType.N,
                Pdv         = new[]
                {
                    new PorezType
                    {
                        Stopa    = 25.ToString("N2", CultureInfo.InvariantCulture),
                        Osnovica = 2.34.ToString("N2", CultureInfo.InvariantCulture),
                        Iznos    = .56.ToString("N2", CultureInfo.InvariantCulture)
                    }
                },
                USustPdv = true
            };

            return(invoice);
        }
Example #3
0
        private static void GenerateZKI(RacunType invoice)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append(invoice.Oib);
            sb.Append(invoice.DatVrijeme);
            sb.Append(invoice.BrRac.BrOznRac);
            sb.Append(invoice.BrRac.OznPosPr);
            sb.Append(invoice.BrRac.OznNapUr);
            sb.Append(invoice.IznosUkupno);

            invoice.ZastKod = SignAndHashMD5(sb.ToString());
        }
Example #4
0
File: Util.cs Project: Zvonetg/Test
        public static void ParseInvoiceInput(List <string> parameters, out RacunType invoice, out string[] certificateParams)
        {
            invoice           = new RacunType();
            invoice.BrRac     = new BrojRacunaType();
            certificateParams = null;
            for (int i = 0; i < parameters.Count; i++)
            {
                switch (i + 1)
                {
                case 1:
                    invoice.Oib = parameters[i];
                    break;

                case 2:
                    invoice.USustPdv = (parameters[i] == "1");
                    break;

                case 3:
                    invoice.DatVrijeme = parameters[i];
                    break;

                case 4:
                    invoice.OznSlijed = (parameters[i] == "N" ? OznakaSlijednostiType.N : OznakaSlijednostiType.P);
                    break;

                case 5:
                    invoice.BrRac.BrOznRac = parameters[i];
                    break;

                case 6:
                    invoice.BrRac.OznPosPr = parameters[i];
                    break;

                case 7:
                    invoice.BrRac.OznNapUr = parameters[i];
                    break;

                case 8:
                    if (!string.IsNullOrEmpty(parameters[i]))
                    {
                        invoice.Pdv = new List <PorezType>();
                        string[] fragments = parameters[i].Split(';');
                        for (int j = 0; j + 2 < fragments.Length; j += 3)
                        {
                            PorezType taxTupple = new PorezType();
                            taxTupple.Stopa    = Settings.CustomParseDecimal(fragments[j]);
                            taxTupple.Osnovica = Settings.CustomParseDecimal(fragments[j + 1]);
                            taxTupple.Iznos    = fragments[j + 2];
                            invoice.Pdv.Add(taxTupple);
                        }
                    }
                    break;

                case 9:
                    if (!string.IsNullOrEmpty(parameters[i]))
                    {
                        invoice.Pnp = new List <PorezType>();
                        string[] fragments = parameters[i].Split(';');
                        for (int j = 0; j + 2 < fragments.Length; j += 3)
                        {
                            PorezType taxTupple = new PorezType();
                            taxTupple.Stopa    = Settings.CustomParseDecimal(fragments[j]);
                            taxTupple.Osnovica = Settings.CustomParseDecimal(fragments[j + 1]);
                            taxTupple.Iznos    = fragments[j + 2];
                            invoice.Pnp.Add(taxTupple);
                        }
                    }
                    break;

                case 10:
                    if (!string.IsNullOrEmpty(parameters[i]))
                    {
                        invoice.OstaliPor = new List <PorezOstaloType>();
                        string[] fragments = parameters[i].Split(';');
                        for (int j = 0; j + 3 < fragments.Length; j += 4)
                        {
                            PorezOstaloType taxTupple = new PorezOstaloType();
                            taxTupple.Naziv    = fragments[j];
                            taxTupple.Stopa    = Settings.CustomParseDecimal(fragments[j + 1]);
                            taxTupple.Osnovica = Settings.CustomParseDecimal(fragments[j + 2]);
                            taxTupple.Iznos    = fragments[j + 3];
                            invoice.OstaliPor.Add(taxTupple);
                        }
                    }
                    break;

                case 11:
                    if (!string.IsNullOrEmpty(parameters[i]))
                    {
                        invoice.IznosOslobPdvSpecified = true;
                        invoice.IznosOslobPdv          = parameters[i];
                    }
                    break;

                case 12:
                    if (!string.IsNullOrEmpty(parameters[i]))
                    {
                        invoice.IznosMarzaSpecified = true;
                        invoice.IznosMarza          = parameters[i];
                    }
                    break;

                case 13:
                    if (!string.IsNullOrEmpty(parameters[i]))
                    {
                        invoice.IznosNePodlOporSpecified = true;
                        invoice.IznosNePodlOpor          = parameters[i];
                    }
                    break;

                case 14:
                    if (!string.IsNullOrEmpty(parameters[i]))
                    {
                        invoice.Naknade = new List <NaknadaType>();
                        string[] fragments = parameters[i].Split(';');
                        for (int j = 0; j + 1 < fragments.Length; j += 2)
                        {
                            NaknadaType costTupple = new NaknadaType();
                            costTupple.NazivN = fragments[j];
                            costTupple.IznosN = fragments[j + 1];
                            invoice.Naknade.Add(costTupple);
                        }
                    }
                    break;

                case 15:
                    invoice.IznosUkupno = parameters[i];
                    break;

                case 16:
                    switch (parameters[i])
                    {
                    case "G":
                        invoice.NacinPlac = NacinPlacanjaType.G;
                        break;

                    case "K":
                        invoice.NacinPlac = NacinPlacanjaType.K;
                        break;

                    case "C":
                        invoice.NacinPlac = NacinPlacanjaType.C;
                        break;

                    case "T":
                        invoice.NacinPlac = NacinPlacanjaType.T;
                        break;

                    case "O":
                        invoice.NacinPlac = NacinPlacanjaType.O;
                        break;
                    }
                    break;

                case 17:
                    invoice.OibOper = parameters[i];
                    break;

                case 18:
                    invoice.NakDost = (parameters[i] == "1");
                    break;

                case 19:
                    if (!string.IsNullOrEmpty(parameters[i]))
                    {
                        invoice.ParagonBrRac = parameters[i];
                    }
                    break;

                case 20:
                    certificateParams = (parameters[i] == "1" ? new string[1] : new string[2]);
                    break;

                case 21:
                    if (!string.IsNullOrEmpty(parameters[i]) && certificateParams.Length == 1)
                    {
                        certificateParams[0] = parameters[i];
                    }
                    break;

                case 22:
                    if (!string.IsNullOrEmpty(parameters[i]) && certificateParams.Length == 2)
                    {
                        certificateParams[0] = parameters[i];
                    }
                    break;

                case 23:
                    if (!string.IsNullOrEmpty(parameters[i]) && certificateParams.Length == 2)
                    {
                        certificateParams[1] = parameters[i];
                    }
                    break;
                }
            }
        }