Esempio n. 1
0
        public ActionResult Index()
        {
            GetOrdersVM model = new GetOrdersVM();

            using (TruckTransportDbContext _db = new TruckTransportDbContext())
            {
                model.OrdersList = _db.nalozi
                                   .Include(x => x.stanja)
                                   .Include(x => x.vozila)
                                   .Include(x => x.vozaci).Select(x => new GetOrdersVM.OrderVM
                {
                    OrderID          = x.nalog_id,
                    UnixCreationTime = x.vrijeme_kreiranja,
                    OrderCondition   = x.stanja.opis,
                    Vehicle          = x.vozila.naziv,
                    Driver           = x.vozaci.ime + " " + x.vozaci.prezime
                }).AsNoTracking().ToList();

                foreach (var order in model.OrdersList)
                {
                    order.CreationTime = UnixTime.ConvertToDateTimeString(order.UnixCreationTime);
                }
            }

            return(View(viewName: "Index", model: model));
        }
Esempio n. 2
0
        public ActionResult LoadMessagesForSpecificDriver(int driverID)
        {
            ChatUserMessagesVM userMessagesModel = new ChatUserMessagesVM();

            using (TruckTransportDbContext _db = new TruckTransportDbContext())
            {
                var driver = _db.vozaci.Where(x => x.vozac_id == driverID).FirstOrDefault();

                userMessagesModel.DriverID       = driver.vozac_id;
                userMessagesModel.DriverFullName = driver.ime + " " + driver.prezime;
                userMessagesModel.UserMessages   = _db.poruke.Where(s => s.vozac_id == driver.vozac_id).Select(s => new ChatMessagesVM
                {
                    MessageID        = s.poruka_id,
                    DriverID         = s.vozac_id,
                    UnixCreationTime = s.vrijeme,
                    SByteFromDriver  = s.odvozaca,
                    MessageText      = s.text
                }).OrderByDescending(s => s.MessageID).Take(50).ToList();

                foreach (var userMessage in userMessagesModel.UserMessages)
                {
                    userMessage.CreationTime = UnixTime.ConvertToDateTimeString(userMessage.UnixCreationTime);
                    userMessage.FromDriver   = Convert.ToBoolean(userMessage.SByteFromDriver);
                }
            }

            return(PartialView(viewName: "_UserMessages", model: userMessagesModel));
        }
Esempio n. 3
0
        public JsonResult CheckSOS()
        {
            using (TruckTransportDbContext _db = new TruckTransportDbContext())
            {
                var numOfSOSMessages = _db.poruke.Where(x => x.odvozaca == 1 && x.text.Contains("SOS")).Count();

                if (numOfSOSMessages > Constants.NumberOfSOSMessages)
                {
                    Constants.NumberOfSOSMessages = numOfSOSMessages;

                    var sosMessage = _db.poruke.Include(x => x.vozaci).Where(x => x.odvozaca == 1 && x.text.Contains("SOS")).OrderByDescending(x => x.poruka_id).First();

                    var splitMessage = sosMessage.text.Split(',');

                    SetSOSVM model = new SetSOSVM();

                    model.DriverID       = sosMessage.vozac_id;
                    model.DriverFullName = sosMessage.vozaci.ime + " " + sosMessage.vozaci.prezime;
                    model.SOSMessageTime = UnixTime.ConvertToDateTimeString(sosMessage.vrijeme);
                    model.SOSMessageText = splitMessage[2];

                    var latLongSplitMessage = splitMessage[1].Split(';');

                    model.Latitude  = latLongSplitMessage[0];
                    model.Longitude = latLongSplitMessage[1];

                    return(Json(new { setNotif = true, sOSMessage = model }, JsonRequestBehavior.AllowGet));
                }
            }

            return(Json(new { setNotif = false }, JsonRequestBehavior.AllowGet));
        }
Esempio n. 4
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. 7
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));
        }
        public ActionResult Index()
        {
            GetAuditLoggingsVM model = new GetAuditLoggingsVM();

            using (TruckTransportDbContext _db = new TruckTransportDbContext())
            {
                List <logiranidogadjaji> events = _db.logiranidogadjaji.AsNoTracking().ToList();

                model.AuditLoggingsList = events.Select(x => new AuditLoggingVM {
                    AuditLoggingID = x.logirani_dogadjaj_id,
                    Username       = x.username,
                    IPAddress      = x.ip_adresa,
                    URL            = x.url,
                    EventTime      = UnixTime.ConvertToDateTimeString(x.vrijeme_dogadjaja)
                }).ToList();
            }

            return(View(viewName: "Index", model: model));
        }
Esempio n. 9
0
        public ActionResult Index()
        {
            ChatVM model = new ChatVM();

            using (TruckTransportDbContext _db = new TruckTransportDbContext())
            {
                var drivers = _db.vozaci.ToList();

                model.FirstDriverID     = drivers.First().vozac_id;
                model.ChatUsersMessages = new List <ChatUserMessagesVM>();

                if (drivers != null)
                {
                    foreach (var driver in drivers)
                    {
                        ChatUserMessagesVM userMessagesModel = new ChatUserMessagesVM();
                        userMessagesModel.DriverID       = driver.vozac_id;
                        userMessagesModel.DriverFullName = driver.ime + " " + driver.prezime;
                        userMessagesModel.UserMessages   = _db.poruke.Where(s => s.vozac_id == driver.vozac_id).Select(s => new ChatMessagesVM
                        {
                            MessageID        = s.poruka_id,
                            DriverID         = s.vozac_id,
                            UnixCreationTime = s.vrijeme,
                            SByteFromDriver  = s.odvozaca,
                            MessageText      = s.text
                        }).OrderByDescending(s => s.MessageID).Take(50).ToList();

                        foreach (var userMessage in userMessagesModel.UserMessages)
                        {
                            userMessage.CreationTime = UnixTime.ConvertToDateTimeString(userMessage.UnixCreationTime);
                            userMessage.FromDriver   = Convert.ToBoolean(userMessage.SByteFromDriver);
                        }

                        model.ChatUsersMessages.Add(userMessagesModel);
                    }
                }
            }

            return(View(viewName: "Index", model: model));
        }
        public ActionResult Details(int taskID)
        {
            GetTaskDetailsVM model = new GetTaskDetailsVM();

            using (TruckTransportDbContext _db = new TruckTransportDbContext())
            {
                zadaci task = _db.zadaci.Include(x => x.poznatelokacije)
                              .Include(x => x.nalozi.stanja)
                              .Include(x => x.nalozi.vozaci)
                              .Include(x => x.nalozi.vozila).Where(x => x.zadatak_id == taskID).AsNoTracking().FirstOrDefault();

                if (task != null)
                {
                    model.TaskID      = task.zadatak_id;
                    model.TaskNumber  = task.broj_zadatka;
                    model.Name        = task.naziv;
                    model.Description = task.opis;

                    model.CheckIn  = task.checkin != null && task.checkin != 0 ? UnixTime.ConvertToDateTimeString((long)task.checkin) : "-";
                    model.CheckOut = task.checkout != null && task.checkout != 0 ? UnixTime.ConvertToDateTimeString((long)task.checkout) : "-";

                    model.KnownLocation = task.poznatelokacije.naziv;
                    model.Latitude      = task.poznatelokacije.sirina;
                    model.Longitude     = task.poznatelokacije.duzina;

                    if (task.nalog_id != null && task.nalozi != null)
                    {
                        model.OrderID           = task.nalog_id;
                        model.OrderCreationTime = UnixTime.ConvertToDateTimeString(task.nalozi.vrijeme_kreiranja);
                        model.OrderCondition    = task.nalozi.stanja.opis;
                        model.Driver            = task.nalozi.vozaci.ime + " " + task.nalozi.vozaci.prezime;
                        model.Vehicle           = task.nalozi.vozila.naziv + ", " + task.nalozi.vozila.marka;
                    }
                }
            }

            return(View(viewName: "Details", model: model));
        }
Esempio n. 11
0
        public ActionResult Details(int orderID)
        {
            GetOrderDetailsVM model = new GetOrderDetailsVM();

            using (TruckTransportDbContext _db = new TruckTransportDbContext())
            {
                var order = _db.nalozi.Where(x => x.nalog_id == orderID)
                            .Include(x => x.stanja)
                            .Include(x => x.vozila)
                            .Include(x => x.vozaci).AsNoTracking().FirstOrDefault();

                if (order != null)
                {
                    model.OrderID           = order.nalog_id;
                    model.OrderCreationTime = UnixTime.ConvertToDateTimeString(order.vrijeme_kreiranja);
                    model.OrderCondition    = order.stanja.opis;
                    model.Vehicle           = order.vozila.naziv + ", " + order.vozila.marka;
                    model.Driver            = order.vozaci.ime + " " + order.vozaci.prezime;

                    var tasks       = _db.zadaci.Where(x => x.nalog_id == order.nalog_id).Include(x => x.poznatelokacije).AsNoTracking().ToList();
                    var driverStops = _db.stajalista_nalozi.Where(x => x.nalog_id == order.nalog_id).Include(x => x.stajalista).AsNoTracking().ToList();

                    if (tasks != null && tasks.Count != 0)
                    {
                        model.Tasks = new List <GetOrderDetailsVM.TaskDetails>();

                        foreach (var task in tasks)
                        {
                            GetOrderDetailsVM.TaskDetails taskModel = new GetOrderDetailsVM.TaskDetails();

                            taskModel.TaskID      = task.zadatak_id;
                            taskModel.TaskNumber  = task.broj_zadatka;
                            taskModel.Name        = task.naziv;
                            taskModel.Description = task.opis;
                            taskModel.CheckIn     = task.checkin != null?UnixTime.ConvertToDateTimeString((long)task.checkin) : "";

                            taskModel.CheckOut = task.checkout != null?UnixTime.ConvertToDateTimeString((long)task.checkout) : "";

                            taskModel.KnownLocation = task.poznatelokacije.naziv;
                            taskModel.Latitude      = task.poznatelokacije.sirina;
                            taskModel.Longitude     = task.poznatelokacije.duzina;

                            model.Tasks.Add(taskModel);
                        }
                    }

                    if (driverStops != null && driverStops.Count != 0)
                    {
                        model.DriverStops = new List <GetOrderDetailsVM.DriverStopDetails>();

                        foreach (var driverStop in driverStops)
                        {
                            GetOrderDetailsVM.DriverStopDetails driverStopModel = new GetOrderDetailsVM.DriverStopDetails();

                            driverStopModel.DriverStopID     = driverStop.stajaliste_id;
                            driverStopModel.DriverStopNumber = driverStop?.broj_stajalista ?? 0;
                            driverStopModel.DriverStop       = driverStop.stajalista.naziv;
                            driverStopModel.CheckIn          = driverStop.checkin != null?UnixTime.ConvertToDateTimeString((long)driverStop.checkin) : "";

                            driverStopModel.CheckOut = driverStop.checkout != null?UnixTime.ConvertToDateTimeString((long)driverStop.checkout) : "";

                            driverStopModel.Latitude  = driverStop.stajalista.sirina;
                            driverStopModel.Longitude = driverStop.stajalista.duzina;

                            model.DriverStops.Add(driverStopModel);
                        }
                    }
                }
            }

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