public ActionResult Create(string Tab) { ValueList valueList = GStoreDb.ValueLists.Create(); valueList.SetDefaultsForNew(CurrentClientOrThrow); ValueListEditAdminViewModel viewModel = new ValueListEditAdminViewModel(CurrentStoreFrontOrThrow, CurrentUserProfileOrThrow, valueList, Tab, isStoreAdminEdit: true, isCreatePage: true); return(View("Create", viewModel)); }
public ActionResult Delete(int?id, string Tab, string SortBy, bool?SortAscending) { if (!id.HasValue) { return(HttpBadRequest("ValueListId = null")); } Client client = CurrentClientOrThrow; ValueList valueList = client.ValueLists.Where(p => p.ValueListId == id.Value).SingleOrDefault(); if (valueList == null) { AddUserMessage("Value List not found", "Sorry, the Value List you are trying to Delete cannot be found. Value List id: [" + id.Value + "] for Client '" + client.Name.ToHtml() + "' [" + client.ClientId + "]", UserMessageType.Danger); return(RedirectToAction("Manager")); } ValueListEditAdminViewModel viewModel = new ValueListEditAdminViewModel(CurrentStoreFrontOrThrow, CurrentUserProfileOrThrow, valueList, Tab, true, false, false, sortBy: SortBy, sortAscending: SortAscending); return(View("Delete", viewModel)); }
public virtual ActionResult Create(ValueListEditAdminViewModel viewModel) { Client client = CurrentClientOrThrow; bool nameIsValid = GStoreDb.ValidateValueListName(this, viewModel.Name, CurrentClientOrThrow.ClientId, null); if (nameIsValid && ModelState.IsValid) { try { ValueList valueList = null; valueList = GStoreDb.CreateValueList(viewModel, CurrentClientOrThrow, CurrentUserProfileOrThrow); AddUserMessage("Value List Created!", "Value List '" + valueList.Name.ToHtml() + "' [" + valueList.ValueListId + "] was created successfully for Client '" + client.Name.ToHtml() + "' [" + client.ClientId + "]", UserMessageType.Success); if (CurrentStoreFrontOrThrow.Authorization_IsAuthorized(CurrentUserProfileOrThrow, GStoreAction.ValueLists_View)) { return(RedirectToAction("Details", new { id = valueList.ValueListId })); } return(RedirectToAction("Index", "StoreAdmin")); } catch (Exception ex) { string errorMessage = "An error occurred while Creating Value List '" + viewModel.Name.ToHtml() + "' for Client '" + client.Name.ToHtml() + "' [" + client.ClientId + "] \nError: " + ex.GetType().FullName; if (CurrentUserProfileOrThrow.AspNetIdentityUserIsInRoleSystemAdmin()) { errorMessage += " \nException.ToString(): " + ex.ToString(); } AddUserMessage("Error Creating Value List!", errorMessage.ToHtmlLines(), UserMessageType.Danger); ModelState.AddModelError("Ajax", errorMessage); } } else { AddUserMessage("Value List Create Error", "There was an error with your entry for new Value List '" + viewModel.Name.ToHtml() + "' for Client '" + client.Name.ToHtml() + "' [" + client.ClientId + "]. Please correct it below and save.", UserMessageType.Danger); } viewModel.IsStoreAdminEdit = true; viewModel.IsCreatePage = true; viewModel.IsActiveDirect = !(viewModel.IsPending || (viewModel.StartDateTimeUtc > DateTime.UtcNow) || (viewModel.EndDateTimeUtc < DateTime.UtcNow)); return(View("Create", viewModel)); }
public virtual PartialViewResult UpdateValueListAjax(int?id, ValueListEditAdminViewModel valueListViewModel, ValueListItemEditAdminViewModel[] listItems, string fastAddValueListItem) { if (!id.HasValue) { return(HttpBadRequestPartial("id is null")); } if (valueListViewModel.ValueListId == 0) { return(HttpBadRequestPartial("Value List Id in view model is 0")); } if (valueListViewModel.ValueListId != id.Value) { return(HttpBadRequestPartial("Value List Id mismatch. Parameter value: '" + id.Value + "' != view model value: " + valueListViewModel.ValueListId)); } Client client = CurrentClientOrThrow; ValueList valueListToUpdate = client.ValueLists.SingleOrDefault(vl => vl.ValueListId == valueListViewModel.ValueListId); if (valueListToUpdate == null) { throw new ApplicationException("Value List not found in client Value Lists. Value List Id: " + valueListToUpdate.ValueListId + " Client '" + client.Name + "' [" + client.ClientId + "]"); } bool nameIsValid = GStoreDb.ValidateValueListName(this, valueListToUpdate.Name, client.ClientId, valueListToUpdate.ValueListId); bool fastAddIsValid = false; if (!string.IsNullOrWhiteSpace(fastAddValueListItem)) { fastAddIsValid = GStoreDb.ValidateValueListFastAddItemName(this, fastAddValueListItem, valueListToUpdate, null); } if (nameIsValid && ModelState.IsValid) { ValueList valueList = null; try { valueList = GStoreDb.UpdateValueList(valueListViewModel, client, CurrentUserProfileOrThrow); if (listItems != null && listItems.Count() > 0) { foreach (ValueListItemEditAdminViewModel listItem in listItems) { if (listItem.ValueListId != id.Value) { throw new ApplicationException("ValueListId mismatch for list item. ValueList id: " + id.Value + " listItem.ValueListId: " + listItem.ValueListId); } ValueListItem listItemUpdated = GStoreDb.UpdateValueListItem(listItem, client, CurrentUserProfileOrThrow); } } valueListViewModel = new ValueListEditAdminViewModel(CurrentStoreFrontOrThrow, CurrentUserProfileOrThrow, valueList, isStoreAdminEdit: true, activeTab: valueListViewModel.ActiveTab, sortBy: valueListViewModel.SortBy, sortAscending: valueListViewModel.SortAscending); if (fastAddIsValid) { ValueListItem newItem = GStoreDb.CreateValueListItemFastAdd(valueListViewModel, fastAddValueListItem, client, CurrentUserProfileOrThrow); AddUserMessage("Value List Item Created!", "Value List Item '" + newItem.Name.ToHtml() + "' [" + newItem.ValueListItemId + "] created successfully.", UserMessageType.Success); ModelState.Remove("fastAddValueListItem"); } AddUserMessage("Value List Changes Saved!", "Value List '" + valueList.Name.ToHtml() + "' [" + valueList.ValueListId + "] saved successfully for Client '" + client.Name.ToHtml() + "' [" + client.ClientId + "]", UserMessageType.Success); this.ModelState.Clear(); return(PartialView("_ValueListEditPartial", valueListViewModel)); } catch (Exception ex) { string errorMessage = "An error occurred while saving your changes to Value List '" + valueListViewModel.Name + "' [" + valueListViewModel.ValueListId + "] for Client: '" + client.Name + "' [" + client.ClientId + "] \nError: '" + ex.GetType().FullName + "'"; if (CurrentUserProfileOrThrow.AspNetIdentityUserIsInRoleSystemAdmin()) { errorMessage += " \nException.ToString(): '" + ex.ToString() + "'"; } AddUserMessage("Error Saving Value List!", errorMessage.ToHtmlLines(), UserMessageType.Danger); ModelState.AddModelError("Ajax", errorMessage); } } else { AddUserMessage("Value List Edit Error", "There was an error with your entry for Value List " + valueListViewModel.Name.ToHtml() + " [" + valueListViewModel.ValueListId + "] for Client '" + client.Name.ToHtml() + "' [" + client.ClientId + "]. Please correct it.", UserMessageType.Danger); } foreach (string key in this.ModelState.Keys.Where(k => k.StartsWith("ValueListItems[")).ToList()) { this.ModelState.Remove(key); } valueListViewModel.IsStoreAdminEdit = true; return(PartialView("_ValueListEditPartial", valueListViewModel)); }