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