public decimal IznosDeblokade(string grad, int idNaloga) { try { using (PazigradDataContext db = new PazigradDataContext(Sistem.ConnectionString(grad, idAplikacije))) { RACUNI_STAVKE_OPI st = db.RACUNI_STAVKE_OPIs.First(i => i.IDStatusa == 22 && i.IDRedarstva == 2 && i.Obrisan == false); RACUNI_STAVKE_OPI stl = db.RACUNI_STAVKE_OPIs.First(i => i.IDStatusa == 22 && i.IDRedarstva == 2 && i.Obrisan == false && i.Lezarina);//ležarina Pauk np = db.Pauks.First(i => i.IDNaloga == idNaloga); int kolicina = DateTime.Now.Subtract(np.DatumDeponija.Value).Days;//todo dana ležarine decimal ukupno = (decimal)(st.Iznos + Math.Round((decimal)stl.Iznos * kolicina, 2)); return(ukupno); } } catch (Exception ex) { Sustav.SpremiGresku(grad, ex, idAplikacije, "IZNOS DEBLOKADE, IDNaloga: " + idNaloga); return(0); } }
public static _Nalog Nalog(int?idNaloga, VozilaPauka vozilo, StatusPauka status, RazloziNepodizanjaVozila razlog, NaloziPauku nalog, Pauk pauk, string brojRacuna, string vrstaPlacanja) { if (idNaloga == null || idNaloga == 0) { return(null); } return(new _Nalog(idNaloga, vozilo == null ? 0 : vozilo.IDVozila, vozilo == null ? 0 : vozilo.IDTerminala, vozilo == null ? "" : vozilo.NazivVozila, status == null ? 0 : status.IDStatusa, status == null ? "Izdao nalog" : status.NazivStatusa, razlog == null ? 0 : razlog.IDRazloga, razlog == null ? "" : razlog.NazivRazloga, nalog == null ? DateTime.Now : nalog.DatumNaloga, pauk == null ? DateTime.Now : pauk.DatumZaprimanja, pauk == null ? null : pauk.DatumPodizanja, pauk == null ? null : pauk.DatumDeponija, nalog == null ? false : nalog.StornoRedara, nalog == null ? false : nalog.NalogZatvoren, status == null ? "Black" : status.Boja, nalog == null ? null : nalog.IDRacuna, brojRacuna, vrstaPlacanja, nalog == null ? false : nalog.Lisice, nalog == null ? "" : nalog.Napomena)); }
public static bool DodajNalog(string grad, int idPrekrsaja, int idNaloga, _PrijavaPauk zahtjev, bool lisice, int idAplikacije) { try { using (PazigradDataContext db = new PazigradDataContext(Sistem.ConnectionString(grad, idAplikacije))) { VozilaPauka vp = db.VozilaPaukas.First(i => i.IDVozila == zahtjev.IDPrijavitelja); Prekrsaji pre = db.Prekrsajis.First(i => i.IDPrekrsaja == idPrekrsaja); pre.IDNaloga = idNaloga; pre.NalogPauka = true; db.SubmitChanges(); NaloziPauku nal = new NaloziPauku(); nal.IDNaloga = idNaloga; //todo - ako obradjuje lisice / obradjuje nalog if (vp != null) { if (vp.ObradjujeNalog) { nal.IDStatusa = 8; nal.IDVozila = zahtjev.IDPrijavitelja; nal.Redoslijed = 1; } else { nal.IDStatusa = 0; nal.IDVozila = null; nal.Redoslijed = 0; } } else { nal.IDStatusa = 0; nal.IDVozila = null; nal.Redoslijed = 0; } nal.NalogZatvoren = false; nal.DatumNaloga = zahtjev.DatumVrijeme; nal.StornoRedara = false; nal.IDRazloga = 0; nal.Lisice = lisice; db.NaloziPaukus.InsertOnSubmit(nal); db.SubmitChanges(); Pauk pau = new Pauk(); pau.IDNaloga = idNaloga; if (vp != null) { pau.Status = vp.ObradjujeNalog ? 8 : 0; } else { pau.Status = 0; } pau.NalogZatvoren = false; pau.DatumNaloga = zahtjev.DatumVrijeme; pau.StornoRedara = false; db.Pauks.InsertOnSubmit(pau); db.SubmitChanges(); if (vp.ObradjujeNalog) { Redoslijed(grad, zahtjev.IDPrijavitelja.Value, idNaloga, idAplikacije); } Nalog.SpremiPovijest(grad, idNaloga, zahtjev.IDPrijavitelja, 0, true, idAplikacije); //novi if (vp.ObradjujeNalog) { Nalog.SpremiPovijest(grad, idNaloga, zahtjev.IDPrijavitelja, 8, true, idAplikacije); //dodijeljen } new Thread(() => MailLista.PosaljiNaredbu(grad, idNaloga, idAplikacije)).Start(); return(true); } } catch (Exception ex) { Sustav.SpremiGresku(grad, ex, idAplikacije, "DODAJ NALOG I DODIJELI"); return(false); } }
public static int PosaljiNalogPauku(string grad, int idPrekrsaja, DateTime datum, bool lisice, int idAplikacije) { try { using (PazigradDataContext db = new PazigradDataContext(Sistem.ConnectionString(grad, idAplikacije))) { int id = db.Pauks.Any() ? db.Pauks.Max(i => i.IDNaloga) + 1 : 1; #region PAUK Pauk pauk = new Pauk(); pauk.IDNaloga = id; pauk.Status = 0; pauk.NalogZatvoren = false; pauk.DatumNaloga = datum; // todo now ili isto vrijeme kao i prekrsaj? pauk.DatumZaprimanja = null; pauk.DatumPodizanja = null; pauk.DatumDeponija = null; pauk.StornoRedara = false; db.Pauks.InsertOnSubmit(pauk); db.SubmitChanges(); #endregion #region NALOZI PAUKU NaloziPauku np = new NaloziPauku(); np.IDNaloga = id; np.IDStatusa = 0; np.IDVozila = null; np.NalogZatvoren = false; np.DatumNaloga = datum; np.StornoRedara = true; np.Redoslijed = 0; np.IDRazloga = null; np.Lisice = lisice; db.NaloziPaukus.InsertOnSubmit(np); db.SubmitChanges(); #endregion #region PREKRSAJ Prekrsaji prek = db.Prekrsajis.First(i => i.IDPrekrsaja == idPrekrsaja); prek.IDNaloga = id; db.SubmitChanges(); #endregion return(id); } } catch (Exception ex) { Sustav.SpremiGresku(grad, ex, idAplikacije, "NOVI NALOG PAUKU"); return(-1); } }
public string DeblokirajVozilo(string grad, int idNaloga, int idDjelatnika, int idVrstePlacanja, _Osoba osoba, string poziv, out int idRacuna) { try { string vrsta = Naplata.VrstaPlacanja(grad, idVrstePlacanja, idAplikacije); _PoslovniProstor pp = PoslovniProstor.DohvatiPoslovniProstor(grad, 2, idAplikacije); _Djelatnik djel = Korisnici.DohvatiDjelatnika(grad, idDjelatnika, idAplikacije); List <_Stavka> stavke = new List <_Stavka>(); using (PazigradDataContext db = new PazigradDataContext(Sistem.ConnectionString(grad, idAplikacije))) { RACUNI_STAVKE_OPI st = db.RACUNI_STAVKE_OPIs.First(i => i.IDStatusa == 22 && i.IDRedarstva == 2 && i.Obrisan == false); RACUNI_STAVKE_OPI stl = db.RACUNI_STAVKE_OPIs.First(i => i.IDStatusa == 22 && i.IDRedarstva == 2 && i.Obrisan == false && i.Lezarina); Pauk np = db.Pauks.First(i => i.IDNaloga == idNaloga); int kolicina = DateTime.Today.Date.Subtract(np.DatumDeponija.Value.Date).Days; decimal osnovicaD = Math.Round((decimal)(st.Iznos / ((decimal)(100 + pp.PDV) / 100)), 2); decimal pdvD = Math.Round(osnovicaD * pp.PDV / 100, 2); osnovicaD = (decimal)(st.Iznos - pdvD); decimal ukupnoD = (decimal)st.Iznos; decimal osnovicaL = Math.Round((decimal)(stl.Iznos / ((decimal)(100 + pp.PDV) / 100)), 2) * kolicina; decimal pdvL = Math.Round(osnovicaL * pp.PDV / 100, 2); osnovicaL = (decimal)(stl.Iznos * kolicina - pdvL); decimal ukupnoL = (decimal)stl.Iznos * kolicina; _Stavka nova = new _Stavka(0, 0, st.IDOpisaStavke, st.NazivOpisaStavke, st.Lezarina, 1, (decimal)st.Iznos, pdvD, osnovicaD, ukupnoD, pp.PDV, ""); _Stavka novaL = new _Stavka(0, 0, stl.IDOpisaStavke, stl.NazivOpisaStavke, stl.Lezarina, kolicina, (decimal)stl.Iznos, pdvL, osnovicaL, ukupnoL, pp.PDV, ""); stavke.Add(nova); if (kolicina > 0) { stavke.Add(novaL); } List <_Osoba> osobe = new List <_Osoba>(); osobe.Add(osoba); string oznakaPP; int blagajna = Naplata.Blagajna(grad, idNaloga, out oznakaPP, idAplikacije); //definirano na vozilu if (string.IsNullOrEmpty(oznakaPP)) { oznakaPP = pp.Oznaka; } _Racun novi = new _Racun(0, idNaloga, null, idVrstePlacanja, null, null, vrsta, "", idDjelatnika, djel.ImeNaRacunu, 2, DateTime.Now, 0, 0, pdvD + pdvL, osnovicaD + osnovicaL, ukupnoD + ukupnoL, pp.PDV, djel.OIB ?? "", blagajna == -1 ? 1 : blagajna, "", false, "", "", true, "", "", "", DateTime.Now, oznakaPP, poziv, "", "", "", false, false, false, false, "", stavke, osobe); string brrac, pozivna; return(Naplata.NaplatiPauk(grad, novi, 22, out idRacuna, out brrac, out pozivna, idAplikacije)); } } catch (Exception ex) { Sustav.SpremiGresku(grad, ex, idAplikacije, "NAPLATA S UREĐAJA"); idRacuna = -1; return(""); } }