// // GET: /Tracking/Create public ActionResult Create() { List<SelectListItem> TrackableItemsForUser = _trackableItemsCollection.AsQueryable() .Where(x => x.UserId == User.Identity.Name) .Select(x => new SelectListItem() {Value = x.Id.ToString(), Text = x.Name}).ToList(); var vm = new TrackingViewModel() {Id = ObjectId.GenerateNewId(DateTime.Now), Comment = "Insert comment here", CustomerInformation = new TrackingCustomerInformation()}; vm.TrackingItems = new SelectList(TrackableItemsForUser, "Value", "Text"); vm.TrackingItemStates = new List<SelectListItem>(); return View(vm); }
private void UpdateTrackingViewModel(TrackingViewModel tm) { List<SelectListItem> trackingStates = new List<SelectListItem>(); var trackingItem = _trackableItemsCollection.AsQueryable().FirstOrDefault(x => x.UserId == User.Identity.Name && x.Id == tm.TrackingItemId); if ( trackingItem != null) { trackingItem.States.ToList().ForEach(x => trackingStates.Add(new SelectListItem() { Value = x.Id.ToString(), Text = x.Name })); tm.TrackingItemStates = trackingStates; } }