Example #1
0
        public static List <_PutanjaVozila> PutanjaObradeNaloga(string grad, _Nalog nalog, out List <_PutanjaVozila> putanjaDoPrekrsaja, out List <_DogadjajiNaloga> dogadaji, int idAplikacije)
        {
            try
            {
                using (PazigradDataContext db = new PazigradDataContext(Sistem.ConnectionString(grad, idAplikacije)))
                {
                    DateTime izdavanja   = db.PovijestNalogas.OrderByDescending(i => i.DatumVrijemeDogadjaja).FirstOrDefault(i => i.IDNaloga == nalog.IDNaloga && i.IDStatusa == 0).DatumVrijemeDogadjaja;
                    DateTime preuzimanje = db.PovijestNalogas.OrderByDescending(i => i.DatumVrijemeDogadjaja).FirstOrDefault(i => i.IDNaloga == nalog.IDNaloga && i.IDStatusa == 1).DatumVrijemeDogadjaja;
                    DateTime kraj        = db.PovijestNalogas.OrderByDescending(i => i.DatumVrijemeDogadjaja).FirstOrDefault(i => i.IDNaloga == nalog.IDNaloga).DatumVrijemeDogadjaja;

                    var OdIzdavanja = from l in db.LokacijePaukas
                                      join t in db.Terminalis on l.IDTerminala equals t.IDTerminala
                                      join v in db.VozilaPaukas on l.IDVozila equals v.IDVozila
                                      where v.IDVozila == nalog.IDVozila &&
                                      l.DatumVrijemePauka >= izdavanja &&
                                      l.DatumVrijemePauka <= preuzimanje
                                      orderby l.DatumVrijemePauka ascending
                                      select new _PutanjaVozila(
                        l.IDLokacijePauka,
                        v.NazivVozila,
                        (double)l.LatPauka,
                        (double)l.LongPauka,
                        t.NazivTerminala,
                        l.DatumVrijemePauka
                        );

                    var tocke = from l in db.LokacijePaukas
                                join t in db.Terminalis on l.IDTerminala equals t.IDTerminala
                                join v in db.VozilaPaukas on l.IDVozila equals v.IDVozila
                                where v.IDVozila == nalog.IDVozila &&
                                l.DatumVrijemePauka >= preuzimanje &&
                                l.DatumVrijemePauka <= kraj
                                orderby l.DatumVrijemePauka ascending
                                select new _PutanjaVozila(
                        l.IDLokacijePauka,
                        v.NazivVozila,
                        (double)l.LatPauka,
                        (double)l.LongPauka,
                        t.NazivTerminala,
                        l.DatumVrijemePauka
                        );

                    var dog = from p in db.PovijestNalogas
                              join s in db.StatusPaukas on p.IDStatusa equals s.IDStatusa
                              where p.IDNaloga == nalog.IDNaloga
                              select new
                    {
                        p.IDStatusa,
                        p.LatDogadjaja,
                        p.LongDogadjaja,
                        s.NazivStatusa,
                        p.DatumVrijemeDogadjaja
                    };

                    dogadaji = new List <_DogadjajiNaloga>();

                    decimal lat = 0;

                    foreach (var q in dog)
                    {
                        if (q.LatDogadjaja != null)
                        {
                            decimal lat1 = (decimal)q.LatDogadjaja;

                            if (q.LatDogadjaja == lat)
                            {
                                lat1 += (decimal)0.0001;
                            }

                            dogadaji.Add(new _DogadjajiNaloga(q.IDStatusa, lat1, (decimal)q.LongDogadjaja, q.NazivStatusa, q.DatumVrijemeDogadjaja));

                            lat = (decimal)q.LatDogadjaja;
                        }
                    }

                    putanjaDoPrekrsaja = tocke.ToList();
                    return(OdIzdavanja.ToList());
                }
            }
            catch (Exception ex)
            {
                Sustav.SpremiGresku(grad, ex, idAplikacije, "Putanja Prekrsaja");
                dogadaji           = new List <_DogadjajiNaloga>();
                putanjaDoPrekrsaja = new List <_PutanjaVozila>();
                return(new List <_PutanjaVozila>());
            }
        }
Example #2
0
 public List <_PutanjaVozila> PutanjaObradeNaloga(string grad, _Nalog nalog, out List <_PutanjaVozila> putanjaDoPrekrsaja, out List <_DogadjajiNaloga> dogadaji)
 {
     return(Mapa.PutanjaObradeNaloga(grad, nalog, out putanjaDoPrekrsaja, out dogadaji, idAplikacije));
 }
Example #3
0
        public __Prekrsaj(int idp, int idr, int idt, int?idopp, int?idoz, int idlok, int iddjel, int iddok, decimal lat, decimal lng, DateTime dv, string reg, string red, string bi, string uid, string adr,
                          string bd, string ter, string dok, string op, string ko, string oz, string cp, string c, string cpauka, string kaz, bool?pa, bool zahtjev, bool?sto, bool?te, int?trajanje, string so, string os, string ns,
                          _KomentarPostupanja kom, string voz, string svpp, string drzava, int?idRacuna, string racun, _Nalog nalog, byte[] slika, bool zakonskaSankcija) :
            base(idp, idr, idt, idopp, idoz, idlok, iddjel, iddok, lat, lng, dv, reg, red, bi, uid, adr,
                 bd, ter, dok, op, ko, oz, cp, c, cpauka, kaz, pa, zahtjev, sto, te, trajanje, so, os, ns,
                 kom, voz, svpp, drzava, idRacuna, racun, nalog)
        {
            ZakonskaSankcija = zakonskaSankcija;
            Lokacija         = null;

            if (slika != null && slika.Length > 0)
            {
                Slike = new List <string>();

                try
                {
                    Bitmap b = new Bitmap(new MemoryStream(slika.ToArray()));
                    int    maxPixelDimension = 240;
                    int    w = b.Width, h = b.Height;

                    if (w > h)
                    {
                        h = h * maxPixelDimension / w;
                        w = maxPixelDimension;
                    }
                    else
                    {
                        w = w * maxPixelDimension / h;
                        h = maxPixelDimension;
                    }
                    Image.GetThumbnailImageAbort myCallback = ThumbnailCallback;
                    Image myThumbnail = b.GetThumbnailImage(w, h, myCallback, IntPtr.Zero);
                    var   bytes = new MemoryStream();
                    myThumbnail.Save(bytes, ImageFormat.Jpeg);
                    Slike.Add(Convert.ToBase64String(bytes.ToArray()));
                }
                catch (Exception ex)
                {
                    //Sustav.SpremiGresku(grad, ex, idAplikacije, "Thumbnail slikice...");
                }
            }
        }