예제 #1
0
        public ActionResult AdvancedCreate(string Tab)
        {
            NavBarItem navBarItem = GStoreDb.NavBarItems.Create();

            navBarItem.SetDefaultsForNew(CurrentStoreFrontOrThrow);
            NavBarItemEditAdminViewModel viewModel = new NavBarItemEditAdminViewModel(navBarItem, CurrentUserProfileOrThrow, Tab, isCreatePage: true);

            return(View("AdvancedCreate", viewModel));
        }
예제 #2
0
        public ActionResult Create(int?id)
        {
            NavBarItem navBarItem = GStoreDb.NavBarItems.Create();

            navBarItem.SetDefaultsForNew(CurrentStoreFrontOrThrow);
            if (id.HasValue)
            {
                NavBarItem parentNavBarItem = CurrentStoreFrontOrThrow.NavBarItems.SingleOrDefault(nb => nb.NavBarItemId == id.Value);
                if (parentNavBarItem != null)
                {
                    navBarItem.ParentNavBarItem   = parentNavBarItem;
                    navBarItem.ParentNavBarItemId = parentNavBarItem.NavBarItemId;
                }
            }

            NavBarItemEditAdminViewModel viewModel = new NavBarItemEditAdminViewModel(navBarItem, CurrentUserProfileOrThrow, null, isCreatePage: true);

            return(View("Create", viewModel));
        }
예제 #3
0
        public ActionResult AdvancedDelete(int?id, string Tab, bool returnToManager = false)
        {
            if (!id.HasValue)
            {
                return(HttpBadRequest("NavBarItemId = null"));
            }

            StoreFront storeFront = CurrentStoreFrontOrThrow;
            NavBarItem navBarItem = storeFront.NavBarItems.Where(p => p.NavBarItemId == id.Value).SingleOrDefault();

            if (navBarItem == null)
            {
                AddUserMessage("Menu Item not found", "Sorry, the Menu Item you are trying to Delete cannot be found. Menu Item id: [" + id.Value + "] for Store Front '" + storeFront.CurrentConfig().Name.ToHtml() + "' [" + storeFront.StoreFrontId + "]", UserMessageType.Danger);
                return(RedirectToAction("AdvancedManager"));
            }

            NavBarItemEditAdminViewModel viewModel = new NavBarItemEditAdminViewModel(navBarItem, CurrentUserProfileOrThrow, isDeletePage: true, activeTab: Tab, returnToManager: returnToManager);

            return(View("AdvancedDelete", viewModel));
        }
예제 #4
0
        public virtual ActionResult AdvancedCreate(NavBarItemEditAdminViewModel navBarItemEditViewModel)
        {
            StoreFront storeFront  = CurrentStoreFrontOrThrow;
            bool       nameIsValid = GStoreDb.ValidateNavBarItemName(this, navBarItemEditViewModel.Name, storeFront.StoreFrontId, storeFront.ClientId, null);

            if (nameIsValid && ModelState.IsValid)
            {
                try
                {
                    NavBarItem navBarItem = GStoreDb.CreateNavBarItem(navBarItemEditViewModel, storeFront, CurrentUserProfileOrThrow);
                    AddUserMessage("Menu Item Created!", "Menu Item '" + navBarItem.Name.ToHtml() + "' [" + navBarItem.NavBarItemId + "] was created successfully for Store Front '" + storeFront.CurrentConfig().Name.ToHtml() + "' [" + storeFront.StoreFrontId + "]", UserMessageType.Success);
                    if (CurrentStoreFrontOrThrow.Authorization_IsAuthorized(CurrentUserProfileOrThrow, GStoreAction.NavBarItems_View))
                    {
                        return(RedirectToAction("AdvancedDetails", new { id = navBarItem.NavBarItemId, ReturnToManager = navBarItemEditViewModel.ReturnToManager }));
                    }
                    return(RedirectToAction("AdvancedManager"));
                }
                catch (Exception ex)
                {
                    string errorMessage = "An error occurred while Creating Menu Item '" + navBarItemEditViewModel.Name + "' for Store Front '" + storeFront.CurrentConfig().Name.ToHtml() + "' [" + storeFront.StoreFrontId + "] \nError: " + ex.GetType().FullName;

                    if (CurrentUserProfileOrThrow.AspNetIdentityUserIsInRoleSystemAdmin())
                    {
                        errorMessage += " \nException.ToString(): " + ex.ToString();
                    }
                    AddUserMessage("Error Creating Menu Item!", errorMessage.ToHtmlLines(), UserMessageType.Danger);
                    ModelState.AddModelError("Ajax", errorMessage);
                }
            }
            else
            {
                AddUserMessage("Create Menu Item Error", "There was an error with your entry for new menu item '" + navBarItemEditViewModel.Name.ToHtml() + "' for Store Front '" + storeFront.CurrentConfig().Name.ToHtml() + "' [" + storeFront.StoreFrontId + "]. Please correct it below and save.", UserMessageType.Danger);
            }

            navBarItemEditViewModel.FillListsIfEmpty(storeFront.Client, storeFront);
            navBarItemEditViewModel.IsCreatePage = true;

            return(View("AdvancedCreate", navBarItemEditViewModel));
        }
예제 #5
0
        public ActionResult Create(NavBarItemEditAdminViewModel viewModel)
        {
            StoreFront storeFront  = CurrentStoreFrontOrThrow;
            bool       nameIsValid = GStoreDb.ValidateNavBarItemName(this, viewModel.Name, storeFront.StoreFrontId, storeFront.ClientId, null);

            if (nameIsValid && ModelState.IsValid)
            {
                try
                {
                    NavBarItem navBarItem = GStoreDb.CreateNavBarItem(viewModel, storeFront, CurrentUserProfileOrThrow);
                    AddUserMessage("Menu Item Created!", "Menu Item '" + navBarItem.Name.ToHtml() + "' [" + navBarItem.NavBarItemId + "] was created successfully for Store Front '" + storeFront.CurrentConfig().Name.ToHtml() + "' [" + storeFront.StoreFrontId + "]", UserMessageType.Success);

                    return(RedirectToAction("Manager"));
                }
                catch (Exception ex)
                {
                    string errorMessage = "An error occurred while Creating Menu Item '" + viewModel.Name + "' for Store Front '" + storeFront.CurrentConfig().Name.ToHtml() + "' [" + storeFront.StoreFrontId + "] \nError: " + ex.GetType().FullName;

                    if (CurrentUserProfileOrThrow.AspNetIdentityUserIsInRoleSystemAdmin())
                    {
                        errorMessage += " \nException.ToString(): " + ex.ToString();
                    }
                    AddUserMessage("Error Creating Menu Item!", errorMessage.ToHtmlLines(), UserMessageType.Danger);
                    ModelState.AddModelError("Ajax", errorMessage);
                }
            }
            else
            {
                AddUserMessage("Create Menu Item Error", "There was an error with your entry for new menu item '" + viewModel.Name.ToHtml() + "' for Store Front '" + storeFront.CurrentConfig().Name.ToHtml() + "' [" + storeFront.StoreFrontId + "]. Please correct it below and save.", UserMessageType.Danger);
            }

            viewModel.FillListsIfEmpty(storeFront.Client, storeFront);
            viewModel.UpdateParentNavBarItem(CurrentStoreFrontOrThrow.NavBarItems.SingleOrDefault(nb => nb.NavBarItemId == viewModel.ParentNavBarItemId));

            viewModel.IsSimpleCreatePage = true;

            return(View("Create", viewModel));
        }
예제 #6
0
        public ActionResult AdvancedEdit(NavBarItemEditAdminViewModel viewModel, string Tab)
        {
            StoreFront storeFront = CurrentStoreFrontOrThrow;

            bool nameIsValid = GStoreDb.ValidateNavBarItemName(this, viewModel.Name, storeFront.StoreFrontId, storeFront.ClientId, viewModel.NavBarItemId);

            NavBarItem navBarItem = storeFront.NavBarItems.SingleOrDefault(nb => nb.NavBarItemId == viewModel.NavBarItemId);

            if (navBarItem == null)
            {
                AddUserMessage("Menu Item not found", "Sorry, the Menu Item you are trying to edit cannot be found. Menu Item Id: [" + viewModel.NavBarItemId + "] for Store Front '" + storeFront.CurrentConfig().Name.ToHtml() + "' [" + storeFront.StoreFrontId + "]", UserMessageType.Danger);
                if (viewModel.ReturnToManager)
                {
                    return(RedirectToAction("Manager"));
                }
                else
                {
                    return(RedirectToAction("AdvancedManager"));
                }
            }

            if (ModelState.IsValid && nameIsValid)
            {
                navBarItem = GStoreDb.UpdateNavBarItem(viewModel, storeFront, CurrentUserProfileOrThrow);
                AddUserMessage("Menu Item updated successfully!", "Menu Item updated successfully. Menu Item '" + navBarItem.Name.ToHtml() + "' [" + navBarItem.NavBarItemId + "] for Store Front '" + storeFront.CurrentConfig().Name.ToHtml() + "' [" + storeFront.StoreFrontId + "]", UserMessageType.Success);
                if (viewModel.ReturnToManager)
                {
                    return(RedirectToAction("Manager"));
                }
                else
                {
                    return(RedirectToAction("AdvancedManager"));
                }
            }

            return(View("AdvancedEdit", viewModel));
        }