public ActionResult GetDriverStopLocationsCoordinatesByIDs(int[] driverStopIDs)
        {
            using (TruckTransportDbContext _db = new TruckTransportDbContext())
            {
                List <GeoLocationVM> model = new List <GeoLocationVM>();

                for (int i = 0; i < driverStopIDs.Length; i++)
                {
                    int driverStopID = driverStopIDs[i];

                    GeoLocationVM singleLocation = _db.stajalista.Where(x => x.stajaliste_id == driverStopID).Select(x => new GeoLocationVM
                    {
                        ID        = x.stajaliste_id,
                        Info      = x.naziv,
                        Latitude  = x.sirina,
                        Longitude = x.duzina
                    }).AsNoTracking().FirstOrDefault();

                    model.Add(singleLocation);
                }

                if (model != null && model.Count != 0)
                {
                    return(Json(new { success = true, driverStopLocations = model }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json(new { success = false }, JsonRequestBehavior.AllowGet));
                }
            }
        }
        public ActionResult GetTaskLocationsCoordinatesByIDs(int[] taskIDs)
        {
            using (TruckTransportDbContext _db = new TruckTransportDbContext())
            {
                List <GeoLocationVM> model = new List <GeoLocationVM>();

                for (int i = 0; i < taskIDs.Length; i++)
                {
                    int taskID = taskIDs[i];

                    GeoLocationVM singleLocation = _db.zadaci.Where(x => x.zadatak_id == taskID).Include(x => x.poznatelokacije).Select(x => new GeoLocationVM
                    {
                        ID        = x.zadatak_id,
                        Info      = x.naziv,
                        Latitude  = x.poznatelokacije.sirina,
                        Longitude = x.poznatelokacije.duzina
                    }).AsNoTracking().FirstOrDefault();

                    model.Add(singleLocation);
                }

                if (model != null && model.Count != 0)
                {
                    return(Json(new { success = true, taskLocations = model }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json(new { success = false }, JsonRequestBehavior.AllowGet));
                }
            }
        }
Esempio n. 3
0
        public ActionResult GetAllActiveDriversLatestPosition()
        {
            List <GeoLocationVM> model = new List <GeoLocationVM>();

            using (TruckTransportDbContext _db = new TruckTransportDbContext())
            {
                foreach (var driver in _db.vozaci.ToList())
                {
                    var latestPosition = _db.geotacke.Include(x => x.nalozi).Where(x => x.nalozi.stanje_id == 1 && x.nalozi.vozac_id == driver.vozac_id).OrderByDescending(x => x.vrijeme).FirstOrDefault();

                    GeoLocationVM latestPositionVM = new GeoLocationVM();

                    if (latestPosition != null)
                    {
                        latestPositionVM.Info      = UnixTime.ConvertToDateTimeString(latestPosition.vrijeme);
                        latestPositionVM.Latitude  = latestPosition.sirina;
                        latestPositionVM.Longitude = latestPosition.duzina;
                    }

                    model.Add(latestPositionVM);
                }
            }

            return(PartialView(viewName: "_ActiveDriversLatestPosition", model: model));
        }
        public JsonResult GetLatestCoordinatePosition(int driverID)
        {
            GeoLocationVM model = new GeoLocationVM();

            using (TruckTransportDbContext _db = new TruckTransportDbContext())
            {
                var latestPosition = _db.geotacke.Include(x => x.nalozi).Where(x => x.nalozi.stanje_id == 1 && x.nalozi.vozac_id == driverID).OrderByDescending(x => x.vrijeme).FirstOrDefault();

                if (latestPosition != null)
                {
                    model.Info      = UnixTime.ConvertToDateTimeString(latestPosition.vrijeme);
                    model.Latitude  = latestPosition.sirina;
                    model.Longitude = latestPosition.duzina;
                }
            }

            return(Json(new { info = model.Info, latitude = model.Latitude, longitude = model.Longitude }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult GetLatestPosition(int driverID)
        {
            GeoLocationVM model = new GeoLocationVM();

            using (TruckTransportDbContext _db = new TruckTransportDbContext())
            {
                var latestPosition = _db.geotacke.Include(x => x.nalozi).Where(x => x.nalozi.stanje_id == 1 && x.nalozi.vozac_id == driverID).OrderByDescending(x => x.vrijeme).FirstOrDefault();

                if (latestPosition != null)
                {
                    model.ID        = driverID;
                    model.Info      = UnixTime.ConvertToDateTimeString(latestPosition.vrijeme);
                    model.Latitude  = latestPosition.sirina;
                    model.Longitude = latestPosition.duzina;
                }
            }

            return(PartialView(viewName: "_LatestMapPosition", model: model));
        }
Esempio n. 6
0
        public ActionResult Index()
        {
            IndexVM model = new IndexVM();

            using (TruckTransportDbContext _db = new TruckTransportDbContext())
            {
                model.Statistics = new GetStatisticsVM();
                model.Statistics.NumberOfFinishedOrders = _db.nalozi.Where(s => s.stanje_id == 3).Count();
                model.Statistics.NumberOfFinishedTasks  = _db.zadaci.Include(s => s.nalozi).Where(s => s.nalozi.stanje_id == 3).Count();
                model.Statistics.NumberOfDrivers        = _db.vozaci.Count();
                model.Statistics.NumberOfVehicles       = _db.vozila.Count();

                model.ActiveDrivers             = new GetDriversVM();
                model.ActiveDrivers.DriversList = _db.nalozi.Include(x => x.vozaci).Where(x => x.stanje_id == 1).Select(x => new GetDriversVM.DriverVM
                {
                    DriverID       = x.vozaci.vozac_id,
                    FirstName      = x.vozaci.ime,
                    LastName       = x.vozaci.prezime,
                    PersonUniqueID = x.vozaci.jmbg,
                    Username       = x.vozaci.user,
                    Status         = "Aktivan"
                }).AsNoTracking().ToList();

                model.ActiveDriversLatestPositions = new List <GeoLocationVM>();
                foreach (var driver in _db.vozaci.ToList())
                {
                    var latestPosition = _db.geotacke.Include(x => x.nalozi).Where(x => x.nalozi.stanje_id == 1 && x.nalozi.vozac_id == driver.vozac_id).OrderByDescending(x => x.vrijeme).FirstOrDefault();

                    GeoLocationVM latestPositionVM = new GeoLocationVM();

                    if (latestPosition != null)
                    {
                        latestPositionVM.Info      = UnixTime.ConvertToDateTimeString(latestPosition.vrijeme);
                        latestPositionVM.Latitude  = latestPosition.sirina;
                        latestPositionVM.Longitude = latestPosition.duzina;
                    }

                    model.ActiveDriversLatestPositions.Add(latestPositionVM);
                }
            }

            return(View(viewName: "Index", model: model));
        }