public static int SpremiLokacijuPauka(string grad, _PozicijaPauka pozicija, int idAplikacije) { try { using (PazigradDataContext db = new PazigradDataContext(Sistem.ConnectionString(grad, idAplikacije))) { if (pozicija.IDVozila == null) { try { pozicija.IDVozila = db.VozilaPaukas.First(i => i.IDTerminala == pozicija.IDTerminala).IDVozila; } catch { pozicija.IDVozila = 0; } } if (pozicija.IDVozila < 0 || pozicija.IDVozila == null) { Sustav.SpremiGresku(grad, new ApplicationException(pozicija.IDVozila + " " + pozicija.IDTerminala), idAplikacije, "SPREMI LOKACIJU PAUKA"); return(0); } LokacijePauka lp = new LokacijePauka(); lp.IDVozila = pozicija.IDVozila; lp.IDNacinaPozicioniranja = pozicija.IDNacinaPozicioniranja; lp.IDTerminala = pozicija.IDTerminala; lp.LatPauka = pozicija.LatPauka; lp.LongPauka = pozicija.LngPauka; lp.DatumVrijemePauka = pozicija.DatumVrijeme; lp.IDStatusaLokacija = pozicija.IDStatusaLokacije; lp.IDCentralneLokacije = pozicija.IDCentralneLokacije; lp.GPSAcc = pozicija.Preciznost; lp.Brzina = pozicija.Brzina; lp.Battery = pozicija.Baterija; db.LokacijePaukas.InsertOnSubmit(lp); db.SubmitChanges(); return(Nalog.IDDodjeljenogNaloga(grad, pozicija, idAplikacije)); } } catch (Exception ex) { Sustav.SpremiGresku(grad, ex, idAplikacije, "SPREMI LOKACIJU PAUKA"); return(0); } }
public static List <_StatusVozila> StatusVozila(string grad, int idAplikacije) { try { using (PazigradDataContext db = new PazigradDataContext(Sistem.ConnectionString(grad, idAplikacije))) { List <_StatusVozila> sv = new List <_StatusVozila>(); foreach (var v in db.VozilaPaukas.Where(i => i.IDVozila != 0)) { try { if (!v.IDTerminala.HasValue) { continue; } decimal?lat = null, lng = null; if (db.LokacijePaukas.Any(i => i.DatumVrijemePauka.Date == DateTime.Today.Date && i.IDVozila == v.IDVozila)) { LokacijePauka lp = db.LokacijePaukas.Where(i => i.DatumVrijemePauka.Date == DateTime.Today.Date && i.IDVozila == v.IDVozila) .OrderByDescending(i => i.DatumVrijemePauka).First(); lat = lp.LatPauka; lng = lp.LongPauka; } int br = db.NaloziPaukus.Count(i => i.DatumNaloga.Date == DateTime.Today.Date && i.IDVozila == v.IDVozila && i.NalogZatvoren == false); DateTime?vr = db.Terminalis.First(i => i.IDTerminala == v.IDTerminala.Value).VrijemeZadnjegPristupa; sv.Add(new _StatusVozila(v.IDVozila, v.IDTerminala, v.NazivVozila, v.AP, lat, lng, br, v.PrivremenaObustava, v.Lisice, vr)); } catch { } } return(sv); } } catch (Exception ex) { Sustav.SpremiGresku(grad, ex, idAplikacije, "DOHVATI STATUSE VOZILA"); return(null); } }
public static int SpremiLokaciju(string grad, _Lokacija lokacija, bool pauk, int idAplikacije) { try { using (PazigradDataContext db = new PazigradDataContext(Sistem.ConnectionString(grad, idAplikacije))) { int id; if (pauk) { LokacijePauka lok = new LokacijePauka(); lok.LatPauka = lokacija.Latitude; lok.LongPauka = lokacija.Longitude; lok.DatumVrijemePauka = lokacija.DatumVrijeme.ToLocalTime(); lok.IDVozila = lokacija.IDDjelatnika; lok.IDNacinaPozicioniranja = lokacija.IDPozicioniranja; lok.IDTerminala = lokacija.IDTerminala; lok.Brzina = lokacija.Brzina; lok.GPSAcc = lokacija.Preciznost; lok.Battery = lokacija.Baterija; //lok.Punjac = lokacija.Punjac; db.LokacijePaukas.InsertOnSubmit(lok); db.SubmitChanges(); id = lok.IDLokacijePauka; } else { Lokacije lok = new Lokacije(); lok.Lat = lokacija.Latitude; lok.Long = lokacija.Longitude; lok.RegistracijskaPlocica = lokacija.Registracija; lok.DatumVrijeme = lokacija.DatumVrijeme.ToLocalTime(); lok.IDDjelatnika = lokacija.IDDjelatnika; lok.IDNacinaPozicioniranja = lokacija.IDPozicioniranja; lok.IDTerminala = lokacija.IDTerminala; lok.CellTowerID = lokacija.CellTowerID; lok.SignalStrength = lokacija.SignalStrength; lok.HDOP = lokacija.HDOP; lok.Brzina = lokacija.Brzina; lok.GPSAcc = lokacija.Preciznost; lok.Battery = lokacija.Baterija; lok.Punjac = lokacija.Punjac; db.Lokacijes.InsertOnSubmit(lok); db.SubmitChanges(); id = lok.IDLokacije; } return(id); } } catch (Exception ex) { Sustav.SpremiGresku(grad, ex, idAplikacije, "SPREMI LOKACIJU"); return(-1); } }