コード例 #1
0
        public IHttpActionResult FindFiscal(int ZaglavljeId)
        {
            Zaglavlje z = context.Zaglavlje.Where(x => x.ZaglavljeId == ZaglavljeId && x.FiskalniRacun != null && x.ReklamiraniRacun == null).FirstOrDefault();

            if (z == null)
            {
                return(NotFound());
            }


            return(Ok(new { Id = z.FiskalniRacun, Datum = z.Datum }));
        }
コード例 #2
0
        public IHttpActionResult AddFicscalNubmer(dynamic d)
        {
            int ZaglavljeId = d.zaglavljeId;
            int fisklni     = d.fiskalniBroj;

            Zaglavlje ZUpdateFiskal = context.Zaglavlje.Where(x => x.ZaglavljeId == ZaglavljeId).FirstOrDefault();

            if (ZUpdateFiskal != null)
            {
                ZUpdateFiskal.FiskalniRacun = ZaglavljeId;
                context.SaveChanges();
            }

            if (ZUpdateFiskal == null)
            {
                return(NotFound());
            }

            return(Ok(new { ZaglavljeId = ZaglavljeId }));
        }
コード例 #3
0
        public static void MyMethodAsync(int zaglavljeId, bool reclamation = false)
        {
            _reclamation = reclamation;
            FileSystemWatcher watcher = new FileSystemWatcher();

            watcher.Path                = "C:\\Tring\\Xml\\odgovori\\";
            watcher.NotifyFilter        = NotifyFilters.LastWrite;
            watcher.Filter              = "*.xml";
            watcher.Changed            += new FileSystemEventHandler(OnChanged);
            watcher.EnableRaisingEvents = true;

            ZaglavljeId = zaglavljeId;
            Zaglavlje      z              = context.Zaglavlje.Find(zaglavljeId);
            XmlDocument    doc            = new XmlDocument();
            XmlDeclaration xmlDeclaration = doc.CreateXmlDeclaration("1.0", "IBM852", null);
            XmlElement     root           = doc.DocumentElement;

            doc.InsertBefore(xmlDeclaration, root);

            XmlElement RacunZahtjev = doc.CreateElement(string.Empty, "RacunZahtjev", string.Empty);

            RacunZahtjev.SetAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
            RacunZahtjev.SetAttribute("xmlns:xsd", "http://www.w3.org/2001/XMLSchema");
            doc.AppendChild(RacunZahtjev);

            //treba dodaji vrstu zahtjeva
            XmlElement Brojzahtjeva = doc.CreateElement(string.Empty, "Brojzahtjeva", string.Empty);

            Brojzahtjeva.InnerText = reclamation == false ?  "233" : context.Zaglavlje.Find(zaglavljeId).FiskalniRacun.ToString();
            RacunZahtjev.AppendChild(Brojzahtjeva);

            XmlElement VrstaZahtjeva = doc.CreateElement(string.Empty, "VrstaZahtjeva", string.Empty);

            VrstaZahtjeva.InnerText = reclamation == false ? "0" : "2";
            RacunZahtjev.AppendChild(VrstaZahtjeva);

            XmlElement NoviObjekat = doc.CreateElement(string.Empty, "NoviObjekat", string.Empty);

            RacunZahtjev.AppendChild(NoviObjekat);

            XmlElement StavkeRacuna = doc.CreateElement(string.Empty, "StavkeRacuna", string.Empty);

            NoviObjekat.AppendChild(StavkeRacuna);

            decimal ukupanIznos = 0;

            foreach (Stavke s in context.Stavke.Where(x => x.ZaglavljeId == zaglavljeId))
            {
                XmlElement StavkaRacuna = doc.CreateElement(string.Empty, "RacunStavka", string.Empty);
                StavkeRacuna.AppendChild(StavkaRacuna);

                XmlElement artikal = doc.CreateElement(string.Empty, "artikal", string.Empty);
                StavkaRacuna.AppendChild(artikal);

                XmlElement Sifra = doc.CreateElement(string.Empty, "Sifra", string.Empty);
                if (s.CijenovnikId != null)
                {
                    Sifra.InnerText = s.Cjenovnik.GrupaId + "-" + s.Cjenovnik.ArtikalId;
                }
                else
                {
                    Sifra.InnerText = "R-" + s.RezervacijaID;
                }
                artikal.AppendChild(Sifra);

                XmlElement Naziv1 = doc.CreateElement(string.Empty, "Naziv", string.Empty);
                if (s.CijenovnikId != null)
                {
                    Naziv1.InnerText = s.Cjenovnik.Artikli.Naziv;
                }
                else
                {
                    Naziv1.InnerText = context.Projections.Find(context.Reservations.Find(s.RezervacijaID).ProjectionID).Movies.Name;
                }
                artikal.AppendChild(Naziv1);

                XmlElement JM = doc.CreateElement(string.Empty, "JM", string.Empty);
                if (s.CijenovnikId != null)
                {
                    JM.InnerText = Regex.Replace(s.Cjenovnik.Artikli.JedMjere, @"\s+", "");
                }
                else
                {
                    JM.InnerText = "kom";
                }
                artikal.AppendChild(JM);

                XmlElement Cijena = doc.CreateElement(string.Empty, "Cijena", string.Empty);
                decimal    mpc    = s.Cijena;
                Cijena.InnerText = String.Format("{0:0.00}", Math.Round(mpc, 2)).Replace(",", ".");
                artikal.AppendChild(Cijena);

                XmlElement Stopa = doc.CreateElement(string.Empty, "Stopa", string.Empty);
                //"E", u sistemu PDVa, "K" je za izvog gdje se ne obračunava PDV, "A" pravna lica koja nisu u sistemu PDVa
                Stopa.InnerText = "E";
                artikal.AppendChild(Stopa);

                XmlElement Grupa = doc.CreateElement(string.Empty, "Grupa", string.Empty);
                if (s.CijenovnikId != null)
                {
                    Grupa.InnerText = s.Cjenovnik.Artikli.GrupaId.ToString();
                }
                else
                {
                    Grupa.InnerText = "0";
                }
                artikal.AppendChild(Grupa);

                XmlElement PLU = doc.CreateElement(string.Empty, "PLU", string.Empty);
                PLU.InnerText = "2";
                artikal.AppendChild(PLU);

                XmlElement Kolicina = doc.CreateElement(string.Empty, "Kolicina", string.Empty);
                double     kolicina = double.Parse(s.Kolicina.ToString());
                Kolicina.InnerText = String.Format("{0:0.000}", Math.Round(kolicina, 3)).Replace(",", ".");;
                StavkaRacuna.AppendChild(Kolicina);

                XmlElement Rabat = doc.CreateElement(string.Empty, "Rabat", string.Empty);
                Rabat.InnerText = String.Format("{0:0.00}", 0).Replace(",", ".");
                StavkaRacuna.AppendChild(Rabat);

                ukupanIznos += s.Iznos;
            }

            XmlElement VrstePlacanja = doc.CreateElement(string.Empty, "VrstePlacanja", string.Empty);

            NoviObjekat.AppendChild(VrstePlacanja);


            XmlElement VrstaPlacanja = doc.CreateElement(string.Empty, "VrstaPlacanja", string.Empty);

            VrstePlacanja.AppendChild(VrstaPlacanja);


            XmlElement Oznaka = doc.CreateElement(string.Empty, "Oznaka", string.Empty);

            Oznaka.InnerText = "Gotovina";
            VrstaPlacanja.AppendChild(Oznaka);


            XmlElement Iznos = doc.CreateElement(string.Empty, "Iznos", string.Empty);

            Iznos.InnerText = String.Format("{0:0.00}", ukupanIznos).Replace(",", ".");;
            VrstaPlacanja.AppendChild(Iznos);

            XmlElement Napomena = doc.CreateElement(string.Empty, "Napomena", string.Empty);

            Napomena.InnerText = "Hvala!";
            NoviObjekat.AppendChild(Napomena);


            XmlElement BrojRacuna = doc.CreateElement(string.Empty, "BrojRacuna", string.Empty);

            BrojRacuna.InnerText = z.ZaglavljeId.ToString();
            NoviObjekat.AppendChild(BrojRacuna);
            if (_reclamation == false)
            {
                doc.Save("C:\\Tring\\Xml\\sfr.xml");
            }
            else
            {
                doc.Save("C:\\Tring\\Xml\\srr.xml");
            }

            doc.Save("C:\\Tring\\Xml\\odgovori\\stvoriOdgovor.xml");
        }
コード例 #4
0
        public IHttpActionResult FiscalReclamation(int FiscalNumber)
        {
            List <dynamic> Items = new List <dynamic>();

            Zaglavlje z = context.Zaglavlje.Where(x => x.FiskalniRacun == FiscalNumber).FirstOrDefault();

            Zaglavlje novoZaglavlje = new Zaglavlje();

            novoZaglavlje.FiskalniRacun = FiscalNumber;
            novoZaglavlje.ZaposlenikID  = 26;
            novoZaglavlje.Datum         = DateTime.Now;
            novoZaglavlje.Knjizen       = false;

            context.Zaglavlje.Add(novoZaglavlje);
            context.SaveChanges();
            int RemoveTicketsReservationId = 0;


            foreach (Stavke s in context.Stavke.Where(x => x.ZaglavljeId == z.ZaglavljeId).ToList())
            {
                Stavke novaStavka = new Stavke();
                novaStavka.ZaglavljeId = novoZaglavlje.ZaglavljeId;
                novaStavka.PDV         = 0.17m;
                novaStavka.Kolicina    = -s.Kolicina;
                novaStavka.Cijena      = s.Cijena;
                novaStavka.Iznos       = novaStavka.Kolicina * novaStavka.Cijena;
                if (s.RezervacijaID != null)
                {
                    novaStavka.RezervacijaID   = s.RezervacijaID;
                    RemoveTicketsReservationId = int.Parse(s.RezervacijaID.ToString());
                    List <int> sjedista = context.Tickets.Where(x => x.ReservationID == s.RezervacijaID).Select(x => x.SeatID).ToList();
                    Items.Add(
                        new
                    {
                        Indicator    = "P",
                        ProjectionId = s.Reservations.ProjectionID,
                        Naziv        = context.Projections.Find(s.Reservations.ProjectionID).Movies.Name,
                        Cijena       = s.Cijena,
                        Kolicina     = s.Kolicina,
                        Iznos        = s.Iznos,
                        seats        = sjedista,
                    });
                }
                else
                {
                    novaStavka.CijenovnikId = s.CijenovnikId;
                    context.Cjenovnik.Where(x => x.CjenovnikId == s.CijenovnikId).FirstOrDefault().Koliciina += s.Kolicina;
                    context.SaveChanges();

                    Items.Add(
                        new
                    {
                        Indicator = "I",
                        StavkaId  = s.CijenovnikId,
                        Naziv     = s.Cjenovnik.Artikli.Naziv,
                        Cijena    = s.Cijena,
                        Kolicina  = s.Kolicina,
                        Iznos     = s.Iznos,
                    });
                }

                context.Stavke.Add(novaStavka);
                context.SaveChanges();
            }

            if (RemoveTicketsReservationId != 0)
            {
                List <Tickets> tickets = context.Tickets.Where(x => x.ReservationID == RemoveTicketsReservationId).ToList();

                foreach (Tickets t in tickets)
                {
                    context.Tickets.Remove(t);
                }
                context.SaveChanges();
            }

            return(Ok(Items));
        }
コード例 #5
0
        public IHttpActionResult MakeTickets(dynamic BillItems)
        {
            List <int>     selectedSeats = new List <int>();
            List <dynamic> Items         = new List <dynamic>();

            int ProjectionId = BillItems.projectionId;

            selectedSeats = JsonConvert.DeserializeObject <List <int> >(BillItems.seats.ToString());
            Items         = JsonConvert.DeserializeObject <List <dynamic> >(BillItems.dynamicItems.ToString());

            if (context.Zaglavlje.Find(int.Parse(Items[0].HeaderId.ToString())) == null)
            {
                Zaglavlje z = new Zaglavlje();
                z.ZaposlenikID = 26;
                z.Knjizen      = false;
                z.Datum        = DateTime.Now;

                context.Zaglavlje.Add(z);
                context.SaveChanges();


                Reservations r = new Reservations();
                if (selectedSeats.Count != 0)
                {
                    r.InitialDate  = DateTime.Now;
                    r.IsCompleted  = 1;
                    r.ProjectionID = ProjectionId;

                    context.Reservations.Add(r);
                    context.SaveChanges();
                }

                decimal price = context.Projections.Find(ProjectionId).TicketPrice;

                foreach (int seatId in selectedSeats)
                {
                    context.Tickets.Add(new Tickets
                    {
                        ProjectionID  = ProjectionId,
                        ReservationID = r.ReservationID,
                        SeatID        = seatId,
                        TicketNumber  = (context.Tickets.Count() + 1),
                        TicketPrice   = price,
                    });
                    context.SaveChanges();
                }

                foreach (dynamic d in Items)
                {
                    Stavke s = new Stavke();
                    s.ZaglavljeId = int.Parse(z.ZaglavljeId.ToString());

                    if (d.Identification.ToString() == "I")
                    {
                        s.CijenovnikId  = int.Parse(d.Id.ToString());
                        s.RezervacijaID = null;
                        Cjenovnik DecreaseAmount = context.Cjenovnik.Where(x => x.CjenovnikId == s.CijenovnikId).FirstOrDefault();
                        DecreaseAmount.Koliciina = DecreaseAmount.Koliciina - int.Parse(d.Amount.ToString());
                    }
                    else
                    {
                        s.RezervacijaID = r.ReservationID;
                        s.CijenovnikId  = null;
                    }

                    s.Kolicina = int.Parse(d.Amount.ToString());
                    s.PDV      = Convert.ToDecimal(0.17);
                    s.Cijena   = Convert.ToDecimal(d.Price.ToString());
                    s.Iznos    = (s.Kolicina * s.Cijena) + (s.Kolicina * s.Cijena * s.PDV);

                    context.Stavke.Add(s);
                    context.SaveChanges();
                }

                return(Ok(new
                {
                    zaglavljeId = z.ZaglavljeId,
                }));
            }
            else
            {
                return(NotFound());
            }
        }