示例#1
0
        public ActionResult EditSetTaskAndDriverStopNumbers(int[] taskIDs, int?[] driverStopIDs)
        {
            EditOrderVM model = new EditOrderVM();

            model.TaskAndDriverStopNumbers = new List <AssignTaskAndDriverStopNumbersInOrderVM>();

            using (TruckTransportDbContext _db = new TruckTransportDbContext())
            {
                foreach (var taskID in taskIDs)
                {
                    AssignTaskAndDriverStopNumbersInOrderVM taskAndDriverStopNumberModel = new AssignTaskAndDriverStopNumbersInOrderVM();
                    var task = _db.zadaci.Where(x => x.zadatak_id == taskID).AsNoTracking().FirstOrDefault();

                    if (task != null)
                    {
                        taskAndDriverStopNumberModel.ID     = task.zadatak_id;
                        taskAndDriverStopNumberModel.Name   = task.naziv;
                        taskAndDriverStopNumberModel.IsTask = true;
                        taskAndDriverStopNumberModel.Number = task.broj_zadatka;

                        model.TaskAndDriverStopNumbers.Add(taskAndDriverStopNumberModel);
                    }
                }

                if (driverStopIDs != null)
                {
                    foreach (var driverStopID in driverStopIDs)
                    {
                        if (driverStopID != null)
                        {
                            AssignTaskAndDriverStopNumbersInOrderVM taskAndDriverStopNumberModel = new AssignTaskAndDriverStopNumbersInOrderVM();
                            var driverStopOrder = _db.stajalista_nalozi.Include(x => x.stajalista).Where(x => x.stajaliste_id == driverStopID).AsNoTracking().FirstOrDefault();

                            if (driverStopOrder != null)
                            {
                                taskAndDriverStopNumberModel.ID     = driverStopOrder.stajaliste_id;
                                taskAndDriverStopNumberModel.Name   = driverStopOrder.stajalista.naziv;
                                taskAndDriverStopNumberModel.IsTask = false;
                                taskAndDriverStopNumberModel.Number = driverStopOrder.broj_stajalista;

                                model.TaskAndDriverStopNumbers.Add(taskAndDriverStopNumberModel);
                            }
                            else
                            {
                                var driverStop = _db.stajalista.Where(x => x.stajaliste_id == driverStopID).AsNoTracking().FirstOrDefault();

                                taskAndDriverStopNumberModel.ID     = driverStop.stajaliste_id;
                                taskAndDriverStopNumberModel.Name   = driverStop.naziv;
                                taskAndDriverStopNumberModel.IsTask = false;
                                taskAndDriverStopNumberModel.Number = 1;

                                model.TaskAndDriverStopNumbers.Add(taskAndDriverStopNumberModel);
                            }
                        }
                    }
                }
            }

            return(PartialView(viewName: "_EditAssignTaskAndDriverStopNumbers", model: model));
        }
示例#2
0
        public ActionResult Edit(int orderID)
        {
            EditOrderVM model = new EditOrderVM();

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

                if (order != null)
                {
                    var taskList       = _db.zadaci.Where(x => x.nalog_id == order.nalog_id).AsNoTracking().ToList();
                    var orderStopsList = _db.stajalista_nalozi.Where(x => x.nalog_id == order.nalog_id).ToList();

                    model.OrderID   = order.nalog_id;
                    model.DriverID  = order.vozac_id;
                    model.VehicleID = order.vozilo_id;

                    if (taskList != null)
                    {
                        model.TaskIDs = new int[taskList.Count];

                        for (int i = 0; i < taskList.Count; i++)
                        {
                            model.TaskIDs.SetValue(taskList[i].zadatak_id, i);
                        }
                    }

                    if (orderStopsList != null)
                    {
                        model.DriverStopIDs = new int?[orderStopsList.Count];

                        for (int i = 0; i < orderStopsList.Count; i++)
                        {
                            model.DriverStopIDs.SetValue(orderStopsList[i].stajaliste_id, i);
                        }
                    }
                }

                model.Drivers  = _dropdownMaker.GetDrivers();
                model.Vehicles = _dropdownMaker.GetVehicles();

                model.Tasks       = _dropdownMaker.GetUnattachedAndSpecificOrderAttachedTasks(orderID);
                model.DriverStops = _dropdownMaker.GetDriverStops();

                model.TaskAndDriverStopNumbers = new List <AssignTaskAndDriverStopNumbersInOrderVM>();

                foreach (var taskID in model.TaskIDs)
                {
                    AssignTaskAndDriverStopNumbersInOrderVM taskAndDriverStopNumberModel = new AssignTaskAndDriverStopNumbersInOrderVM();
                    var task = _db.zadaci.Where(x => x.zadatak_id == taskID).AsNoTracking().FirstOrDefault();

                    taskAndDriverStopNumberModel.ID     = task.zadatak_id;
                    taskAndDriverStopNumberModel.Name   = task.naziv;
                    taskAndDriverStopNumberModel.IsTask = true;
                    taskAndDriverStopNumberModel.Number = task.broj_zadatka;

                    model.TaskAndDriverStopNumbers.Add(taskAndDriverStopNumberModel);
                }

                if (model.DriverStopIDs != null)
                {
                    foreach (var driverStopID in model.DriverStopIDs)
                    {
                        if (driverStopID != null)
                        {
                            AssignTaskAndDriverStopNumbersInOrderVM taskAndDriverStopNumberModel = new AssignTaskAndDriverStopNumbersInOrderVM();
                            var driverStop = _db.stajalista_nalozi.Include(x => x.stajalista).Where(x => x.stajaliste_id == driverStopID).AsNoTracking().FirstOrDefault();

                            taskAndDriverStopNumberModel.ID     = driverStop.stajaliste_id;
                            taskAndDriverStopNumberModel.Name   = driverStop.stajalista.naziv;
                            taskAndDriverStopNumberModel.IsTask = false;
                            taskAndDriverStopNumberModel.Number = driverStop?.broj_stajalista ?? 0;

                            model.TaskAndDriverStopNumbers.Add(taskAndDriverStopNumberModel);
                        }
                    }
                }
            }

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