// GET: /Admin/Wishlist/Edit/{id}
        public ActionResult Edit(Int64? id)
        {
            try
            {
                var wl = this.UnitOfWork.WishlistRepository.GetByID(id);
                if (wl == null)
                    throw new Exception();

                var model = new App.Web.Areas.Admin.Models.WishlistViewModel
                {
                    Wishlist = this.UnitOfWork.WishlistRepository.GetByID(id),
                };
                return View(model);
            }
            catch
            {
                return RedirectToAction("Index", "Wishlist", new { area = "Admin" });
            }
        }
        public ActionResult Edit(App.Web.Areas.Admin.Models.WishlistViewModel viewModel)
        {
            try
            {
                if (!ModelState.IsValid)
                    throw new Exception();

                var originalWishlist = this.UnitOfWork.WishlistRepository.GetByID(viewModel.Wishlist.Id);

                if (originalWishlist == null)
                    throw new Exception();

                originalWishlist.Title = viewModel.Wishlist.Title;
                originalWishlist.Description = viewModel.Wishlist.Description;
                originalWishlist.ModifiedDate = DateTime.Now;

                this.UnitOfWork.WishlistRepository.Update(originalWishlist);
                this.UnitOfWork.Save();

                return RedirectToAction("Index", "Wishlist", new { area = "Admin" });
            }
            catch
            {
                var model = new App.Web.Areas.Admin.Models.WishlistViewModel
                {
                    Wishlist = viewModel.Wishlist,
                };
                return View(model);
            }
        }