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