예제 #1
0
        public static bool PromijeniRegistraciju(string grad, int idPrekrsaja, int idVppVanjsko, string registracija, string kratica, int idMarke, int idAplikacije)
        {
            try
            {
                using (PazigradDataContext db = new PazigradDataContext(Sistem.ConnectionString(grad, idAplikacije)))
                {
                    Prekrsaji p     = db.Prekrsajis.First(s => s.IDPrekrsaja == idPrekrsaja);
                    string    stara = p.RegistracijskaPlocica;

                    bool ok = Prekrsaj.Registracija(grad, idPrekrsaja, registracija, kratica, false, idAplikacije);

                    if (!ok)
                    {
                        return(false);
                    }

                    VppVanjskoPostupci vppvp = db.VppVanjskoPostupcis.First(i => i.IDVanjskoPostupci == idVppVanjsko);
                    vppvp.RegistracijaOK = true;
                    vppvp.IDStatusaVP    = 2;
                    vppvp.IDMarkeVozila  = idMarke;
                    db.SubmitChanges();

                    return(SpremiAkcijuPostupanja(grad, idVppVanjsko, "Prekontrolirana registracija", "Stara registracija: " + stara, idAplikacije));
                }
            }
            catch (Exception ex)
            {
                Sustav.SpremiGresku(grad, ex, idAplikacije, "PROMJENI REGISTRACIJU");
                return(false);
            }
        }
예제 #2
0
        public string IspisZahtjeva(string grad, int idLokacije, string broj, int idAplikacije)
        {
            try
            {
                using (PazigradDataContext db = new PazigradDataContext(Sistem.ConnectionString(grad, idAplikacije)))
                {
                    Prekrsaji p = db.Prekrsajis.First(i => i.IDLokacije == idLokacije);

                    if (!string.IsNullOrEmpty(broj))
                    {
                        p.BrojUpozorenja = broj;
                        p.PozivNaBroj    = broj;

                        db.SubmitChanges();
                    }

                    string ispis;
                    Ispis.IspisPredloska(grad, ObavijestOPrekrsaju(Prekrsaj.DetaljiPrekrsaja(grad, idLokacije, idAplikacije)), 1, p.IDPredloskaIspisa.Value, 0, out ispis, string.IsNullOrEmpty(broj), idAplikacije);

                    return(ispis);
                }
            }
            catch (Exception ex)
            {
                Sustav.SpremiGresku(grad, ex, idAplikacije, "ZAHTJEVI");
                return(null);
            }
        }
예제 #3
0
 private void buttonOtvori_Click(object sender, EventArgs e)
 {
     if (!(Prekrsaji.SelectedItem == null && PrivredniPrestupi.SelectedItem == null))
     {
         if (Prekrsaji.SelectedItem != null)
         {
             string item = Prekrsaji.SelectedItem.ToString();
             char[] niz  = new char[1];
             niz[0] = ':';
             string[]         items  = item.Split(niz);
             Prekrsaj         prek   = new Prekrsaj();
             PrivredniPrestup prekPr = new PrivredniPrestup();
             Prekrsaji.ClearSelected();
             if (prek.ucitaj(items[0]))
             {
                 Prestupi form = new Prestupi(prek, this);
                 form.Show();
             }
         }
         else if (PrivredniPrestupi.SelectedItem != null)
         {
             string item = PrivredniPrestupi.SelectedItem.ToString();
             char[] niz  = new char[1];
             niz[0] = ':';
             string[]         items  = item.Split(niz);
             PrivredniPrestup prekPr = new PrivredniPrestup();
             PrivredniPrestupi.ClearSelected();
             if (prekPr.ucitaj(items[0]))
             {
                 Prestupi form = new Prestupi(prekPr, this);
                 form.Show();
             }
         }
     }
     else
     {
         MessageBox.Show("Morate selektovati prestup.");
     }
 }
예제 #4
0
        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);
            }
        }
예제 #5
0
        public static int DodajPrekrsaj(string grad, _PrijavaPauk zahtjev, int idOpisa, decimal kazna, string registracija, string adresa, string drzava, bool kaznjava, bool nalogPauku, bool lisice, int idRedarstva, int idAplikacije)
        {
            try
            {
                using (PazigradDataContext db = new PazigradDataContext(Sistem.ConnectionString(grad, idAplikacije)))
                {
                    if (db.Zahtjevis.First(i => i.IDPrijave == zahtjev.IDPrijave).IDStatusa == 4)
                    {
                        //storniran od strane pauka
                        return(-2);
                    }

                    if (db.Prekrsajis.Any(i => i.IDLokacije == zahtjev.IDLokacije && i.Test == false))
                    {
                        return(db.Prekrsajis.First(i => i.IDLokacije == zahtjev.IDLokacije).IDPrekrsaja);
                    }

                    string brojUp = Prekrsaj.GenerirajPozivNaBroj(grad, kaznjava, zahtjev.DatumVrijeme, kazna, idAplikacije);

                    //int idPredloska = obavijest ? Prekrsaj.IDPredloskaObavijesti(grad, idAplikacije) : Prekrsaj.IDPredloskaUpozorenja(grad, idAplikacije); //todo ovisno o redarstvu i kaznjava (obavijest) i pauk

                    int idPredloska = db.PredlosciIspisas.First(i => i.IDRedarstva == idRedarstva && i.Pauk && i.Kaznjava == kaznjava).IDPRedloska;

                    Zahtjevi z = db.Zahtjevis.First(i => i.IDPrijave == zahtjev.IDPrijave);

                    #region PREKRSAJ

                    Prekrsaji prek = new Prekrsaji();

                    prek.IDLokacije            = zahtjev.IDLokacije;
                    prek.IDSkracenogOpisa      = idOpisa;
                    prek.IDDjelatnika          = zahtjev.IDOdobravatelja;
                    prek.Vrijeme               = zahtjev.DatumVrijeme;
                    prek.RegistracijskaPlocica = registracija.Replace(" ", "").Replace("-", "").ToUpper();
                    prek.BrojUpozorenja        = brojUp;
                    prek.Lat  = zahtjev.Lat;
                    prek.Long = zahtjev.Lng;
                    prek.IDNacinaPozicioniranja = 3;
                    prek.Adresa            = adresa;
                    prek.Kazna             = kazna;
                    prek.IDPredloskaIspisa = idPredloska;
                    prek.PozivNaBroj       = brojUp;
                    prek.Test       = false;
                    prek.Poslano    = false;
                    prek.Status     = false;
                    prek.Napomena   = null;
                    prek.Tekst      = null;
                    prek.GMapsUlica = null;
                    prek.NalogPauka = nalogPauku;
                    prek.IDNaloga   = 0;
                    prek.Zakljucan  = false;
                    prek.IDRacuna   = null;
                    //todo obrisi
                    //prek.IDRedarNaplate = null;
                    //prek.IDVrstaPlacanja = null;
                    //prek.Placeno = false;
                    //prek.DatumPlacanja = null;
                    //prek.PlacanjePreneseno = false;
                    prek.KraticaDrzave    = drzava;
                    prek.StatusOcitanja   = z.TipOcitanja;
                    prek.Ocitanja         = z.Ocitanja;
                    prek.TrajanjePostupka = z.Trajanje;
                    prek.Rucno            = true;
                    prek.Zahtjev          = true;
                    prek.IDRedarstva      = idRedarstva;
                    prek.IDOpisaZakona    = Zakoni.DohvatiIDNovogZakona(grad, prek.IDSkracenogOpisa, idAplikacije);

                    db.Prekrsajis.InsertOnSubmit(prek);
                    db.SubmitChanges();

                    #endregion

                    Lokacije lok = db.Lokacijes.First(i => i.IDLokacije == zahtjev.IDLokacije);
                    lok.IDDjelatnika = zahtjev.IDOdobravatelja;
                    db.SubmitChanges();

                    //todo - trenutno je samo za lokacije, kad zavrsi testno razdoblje to makni
                    if (grad == "Lokacije")
                    {
                        if (prek.IDPredloskaIspisa == 15 || prek.IDPredloskaIspisa == 2)
                        {
                            Vpp._VppPrijenos prekrsaj = new Vpp._VppPrijenos(prek.IDPrekrsaja, 1, prek.Kazna, prek.PozivNaBroj, "Obavijest");
                            bool             ok       = Vpp.DodajVPP(grad, prekrsaj, idAplikacije);

                            if (ok)
                            {
                                prek.Poslano = true;
                                db.SubmitChanges();
                            }
                        }
                    }

                    if (nalogPauku)
                    {
                        bool ok = KreirajNalog(grad, prek.IDPrekrsaja, zahtjev.IDLokacije, zahtjev, lisice, idRedarstva, idAplikacije);

                        if (!ok)
                        {
                            prek.Test = true;
                            db.SubmitChanges();

                            return(-1);
                        }
                    }
                    else
                    {
                        //todo ako nije nalog pauku razlikovati odobreno jer ce drasku doci odobreno ali bez naloga pauku!
                        Zatvori(grad, zahtjev.IDPrijave, 3, zahtjev.IDOdobravatelja.Value, null, prek.IDPrekrsaja, "ODOBRENO", idRedarstva, idAplikacije);
                    }

                    if (kaznjava)
                    {
                        new Thread(() => RentaCar.PostojiRCVozilo(grad, prek.RegistracijskaPlocica, prek.IDLokacije, 0, idAplikacije)).Start();
                    }

                    return(prek.IDPrekrsaja);
                }
            }
            catch (Exception ex)
            {
                Sustav.SpremiGresku(grad, ex, idAplikacije, "DODAJ PREKRŠAJ");
                return(-1);
            }
        }
예제 #6
0
        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);
            }
        }
예제 #7
0
        public static int NoviPrekrsaj(string grad, _NoviPrekrsaj prekrsaj, int idRedarstva, int idAplikacije)
        {
            try
            {
                using (PazigradDataContext db = new PazigradDataContext(Sistem.ConnectionString(grad, idAplikacije)))
                {
                    int idPredloska = prekrsaj.IDPredloska;

                    if (idPredloska <= 0)
                    {
                        idPredloska = db.PredlosciIspisas.First(i => i.IDRedarstva == idRedarstva && i.Kaznjava == prekrsaj.ZakonskaSankcija).IDPRedloska;
                    }

                    decimal kazna = prekrsaj.Kazna;

                    if (kazna <= 0)
                    {
                        kazna = Zakoni.IznosKazneS(grad, prekrsaj.IDOpisaPrekrsaja, idAplikacije);
                    }

                    Prekrsaji pre = new Prekrsaji();

                    pre.IDLokacije             = prekrsaj.IDLokacije;
                    pre.IDSkracenogOpisa       = prekrsaj.IDOpisaPrekrsaja; // s vremenom ukloniti - todo!
                    pre.IDNacinaPozicioniranja = prekrsaj.IDPozicioniranja;
                    pre.IDPredloskaIspisa      = idPredloska;
                    pre.IDDjelatnika           = prekrsaj.IDDjelatnika;
                    pre.Vrijeme = prekrsaj.Vrijeme;
                    pre.RegistracijskaPlocica = prekrsaj.Registracija.Replace("-", "").Replace(" ", "");
                    pre.BrojUpozorenja        = prekrsaj.BrojUpozorenja;
                    pre.Lat           = prekrsaj.Latitude;
                    pre.Long          = prekrsaj.Longitude;
                    pre.Adresa        = prekrsaj.Adresa;
                    pre.Kazna         = kazna;
                    pre.PozivNaBroj   = prekrsaj.PozivNaBroj;
                    pre.NalogPauka    = prekrsaj.Nalog;
                    pre.IDNaloga      = null;
                    pre.KraticaDrzave = prekrsaj.Drzava;

                    pre.Test      = false;
                    pre.Poslano   = false;
                    pre.Zakljucan = false;
                    pre.IDRacuna  = null;

                    pre.StatusOcitanja   = (byte?)prekrsaj.StatusOcitanja;
                    pre.Ocitanja         = prekrsaj.Ocitanja;
                    pre.TrajanjePostupka = prekrsaj.Trajanje;
                    pre.IDRedarstva      = idRedarstva;

                    try
                    {
                        if (prekrsaj.IDZakona == 0)
                        {
                            pre.IDOpisaZakona =
                                db.OpisiPrekrsajas.First(i => i.IDOpisa == prekrsaj.IDOpisaPrekrsaja).IDNovog;
                        }
                        else
                        {
                            pre.IDOpisaZakona = prekrsaj.IDZakona;
                        }
                    }
                    catch (Exception ex)
                    {
                        Sustav.SpremiGresku(grad, ex, idAplikacije, "NOVI PREKRSAJ - unificirani zakon");
                    }

                    string napomena =
                        string.Format("IDLokacije: {0}, IDOpisa: {1}, Registracija: {2}, Broj: {3}, Adresa: {4}",
                                      prekrsaj.IDLokacije, prekrsaj.IDOpisaPrekrsaja, prekrsaj.Registracija, prekrsaj.BrojUpozorenja, prekrsaj.Adresa);

                    Sustav.SpremiAkciju(grad, prekrsaj.IDDjelatnika, 92, napomena, 1, idAplikacije);

                    db.Prekrsajis.InsertOnSubmit(pre);
                    db.SubmitChanges();

                    //todo - trenutno je samo za lokacije, kad zavrsi testno razdoblje to makni
                    if (grad == "Lokacije")
                    {
                        if (pre.IDPredloskaIspisa == 15 || pre.IDPredloskaIspisa == 2)
                        {
                            Vpp._VppPrijenos prijenos = new Vpp._VppPrijenos(pre.IDPrekrsaja, 1, pre.Kazna, pre.PozivNaBroj, "Obavijest");
                            bool             ok       = Vpp.DodajVPP(grad, prijenos, idAplikacije);

                            if (ok)
                            {
                                pre.Poslano = true;
                                db.SubmitChanges();
                            }
                        }
                    }

                    if (db.PredlosciIspisas.First(i => i.IDPRedloska == idPredloska).NazivPredloska == "OBAVIJEST")
                    {
                        new Thread(() => RentaCar.PostojiRCVozilo(grad, pre.RegistracijskaPlocica, pre.IDLokacije, 60000, idAplikacije)).Start();
                    }

                    return(pre.IDPrekrsaja);
                }
            }
            catch (Exception ex)
            {
                Sustav.SpremiGresku(grad, ex, idAplikacije, "NOVI PREKRSAJ");
                return(-1);
            }
        }
예제 #8
0
 private void PrivredniPrestupi_SelectedIndexChanged(object sender, EventArgs e)
 {
     Prekrsaji.ClearSelected();
 }