public ActionResult Edit(int id) {
			var definition = _definitionListService.GetById(id);
			
			if (definition == null)
				return RedirectToAction("Index");

			var childItems = _definitionListService.GetChildItemsById(id);
            var allDefinitions = _definitionListService.GetDefinitionList();

            var checkableList = allDefinitions
                .Select(x => new CheckableRecord<DefinitionRecord> {
                    Record = x,
                    Checked = (childItems.Any(c => x.Id == c.Id)),
                    Disabled = (x.Id == id) })
                .ToList();

            var viewModel = new DefinitionListAdminEditViewModel {
                Id = definition.Id,
                Term = definition.Term,
                Definition = definition.Definition,
                SubItems = checkableList
            };

			return View(viewModel);
		}
		public ActionResult Edit(FormCollection values) {
			var viewModel = new DefinitionListAdminEditViewModel();

			if (!TryUpdateModel(viewModel))
				return View(viewModel);

			_definitionListService.UpdateDefinitionItem(viewModel.Id, viewModel.Term, viewModel.Definition);

			return RedirectToAction("Index");
		}