public async Task <ActionResult> Edit(int id)
        {
            var site = await _db.Sites
                       .SingleOrDefaultAsync(x => x.Id.Equals(id));

            if (site == null)
            {
                return(new HttpNotFoundResult());
            }

            var siteViewModel = new SiteAddEditViewModel
            {
                AvailableSiteCategories = _db.SiteCategories.ToList(),
                Site = site
            };

            return(View("NewOrEdit", siteViewModel));
        }
        public ActionResult New()
        {
            var siteCategories = _db.SiteCategories.ToList();

            if (!siteCategories.Any())
            {
                TempData["error"] =
                    string.Format(
                        @"No site categories have been created. <a href=""{0}"" class=""alert-link"" > Click here </a> to add a site category now.",
                        Url.Action("New", "SiteCategories"));

                return(RedirectToAction("Index"));
            }

            var site = new SiteAddEditViewModel
            {
                AvailableSiteCategories = siteCategories,
                Site = new Site()
            };

            return(View("NewOrEdit", site));
        }
        public MainWindowViewModel()
        {
            if (DesignerProperties.GetIsInDesignMode(new System.Windows.DependencyObject()))
            {
                return;
            }

            _siteListViewModel        = ContainerHelper.Container.Resolve <SiteListViewModel>();
            _passwordChangeViewModel  = ContainerHelper.Container.Resolve <PasswordChangeViewModel>();
            _siteAddEditViewModel     = ContainerHelper.Container.Resolve <SiteAddEditViewModel>();
            _passwordSymbolsViewModel = ContainerHelper.Container.Resolve <PasswordSymbolsViewModel>();

            CurrentViewModel = _siteListViewModel;
            _siteListViewModel.EditSiteRequested       += NavToEdit;
            _siteListViewModel.AddSiteRequested        += NavToAdd;
            _siteListViewModel.PasswordRequested       += NavToChange;
            _siteListViewModel.HistoryRequested        += NavToHistory;
            _siteAddEditViewModel.Done                 += NavToList;
            _siteAddEditViewModel.PasswordRequested    += NavToChange;
            _passwordHistoryViewModel.BackRequested    += NavToList;
            _passwordChangeViewModel.Done              += NavToList;
            _passwordChangeViewModel.AdvancedRequested += NavToAdvanced;
            _passwordSymbolsViewModel.Done             += NavToChange;
        }