public ActionResult Edit(LookupEditorViewModel item)
        {
            if (_Validator.IsValid(item) == true)
            {
                Lookup toValue;

                if (item.Id == ApiConstants.UnsavedId)
                {
                    toValue = new Lookup();
                }
                else
                {
                    toValue =
                        _Service.GetById(item.Id);

                    if (toValue == null)
                    {
                        return(NotFound());
                    }
                }

                var adapter = new LookupEditorViewModelAdapter();

                adapter.Adapt(item, toValue);

                _Service.Save(toValue);

                return(RedirectToAction("Edit", new { id = toValue.Id }));
            }
            else
            {
                return(View(item));
            }
        }
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new BadRequestResult());
            }

            Lookup item;
            LookupEditorViewModel viewModel;

            if (id.Value == ApiConstants.UnsavedId)
            {
                // create new
                viewModel = new LookupEditorViewModel();

                PopulateLookups(viewModel);
                return(View(viewModel));
            }
            else
            {
                item = _Service.GetById(id.Value);

                if (item == null)
                {
                    return(NotFound());
                }
                else
                {
                    viewModel = new LookupEditorViewModel();

                    var adapter = new LookupEditorViewModelAdapter();

                    adapter.Adapt(item, viewModel);

                    PopulateLookups(viewModel);
                }
            }

            return(View(viewModel));
        }