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)); }
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)); }