public static bool MozePrimitiNalog(string grad, int idVozila, int idNaloga, int idAplikacije) { try { const int idStatusa = 14; //14 je vozilo odbilo nalog - prije je bilo 1 ako ne radi vrati jedan using (PazigradDataContext db = new PazigradDataContext(Sistem.ConnectionString(grad, idAplikacije))) { NaloziPauku np = db.NaloziPaukus.First(i => i.IDNaloga == idNaloga); VozilaPauka vp = db.VozilaPaukas.First(i => i.IDVozila == idVozila); if (!vp.AP) { return(false); } if (np.Lisice) { if (vp.Lisice) { //ako pauk obrađuje lisice i nalog je za blokadu vozila provijeri da li je pauk već odbio return(!db.PovijestNalogas.Any(i => i.IDNaloga == idNaloga && i.IDVozila == idVozila && i.IDStatusa == idStatusa)); } //pauk ne obrađuje lisice return(false); } if (!np.Lisice) { if (vp.ObradjujeNalog) { //ako pauk obrađuje naloge i nalog je za podizanje vozila provijeri da li je pauk već odbio return(!db.PovijestNalogas.Any(i => i.IDNaloga == idNaloga && i.IDVozila == idVozila && i.IDStatusa == idStatusa)); } //pauk ne obrađuje naloge return(false); } return(!db.PovijestNalogas.Any(i => i.IDNaloga == idNaloga && i.IDVozila == idVozila && i.IDStatusa == idStatusa)); } } catch (Exception ex) { Sustav.SpremiGresku(grad, ex, idAplikacije, "MOŽE PRIMITI NALOG"); return(false); } }
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); } }