public ValueListEditAdminViewModel(StoreFront storeFront, UserProfile userProfile, ValueList valueList, string activeTab, bool isStoreAdminEdit = false, bool isReadOnly = false, bool isDeletePage = false, bool isCreatePage = false, string sortBy = "", bool? sortAscending = true) { if (storeFront == null) { throw new ArgumentNullException("storeFront"); } if (userProfile == null) { throw new ArgumentNullException("userProfile"); } if (valueList == null) { throw new ArgumentNullException("valueList", "valueList cannot be null"); } this.IsStoreAdminEdit = isStoreAdminEdit; this.IsActiveDirect = valueList.IsActiveDirect(); this.IsActiveBubble = valueList.IsActiveBubble(); this.IsReadOnly = isReadOnly; this.IsDeletePage = isDeletePage; this.IsCreatePage = isCreatePage; this.ActiveTab = activeTab; this.SortBy = sortBy; this.SortAscending = sortAscending; LoadValues(storeFront, userProfile, valueList); }
public ActionResult Create(ValueList valueList) { if (ModelState.IsValid) { valueList = GStoreDb.ValueLists.Create(valueList); valueList.UpdateAuditFields(CurrentUserProfileOrThrow); valueList = GStoreDb.ValueLists.Add(valueList); GStoreDb.SaveChanges(); AddUserMessage("Value List Created", "Value List '" + valueList.Name.ToHtml() + "' [" + valueList.ValueListId + "] Created Successfully", UserMessageType.Success); return RedirectToAction("Index"); } int? clientId = null; if (valueList.ClientId != default(int)) { clientId = valueList.ClientId; } this.BreadCrumbsFunc = htmlHelper => this.ValueListBreadcrumb(htmlHelper, valueList.ClientId, valueList); return View(valueList); }
protected void LoadValues(StoreFront storeFront, UserProfile userProfile, ValueList valueList) { if (valueList == null) { return; } this.ValueList = valueList; this.Client = valueList.Client; this.ClientId = (valueList.Client == null ? 0 : valueList.ClientId); this.CreateDateTimeUtc = valueList.CreateDateTimeUtc; this.CreatedBy = valueList.CreatedBy; this.CreatedBy_UserProfileId = valueList.CreatedBy_UserProfileId; this.Description = valueList.Description; this.EndDateTimeUtc = valueList.EndDateTimeUtc; this.IsPending = valueList.IsPending; this.Name = valueList.Name; this.Order = valueList.Order; this.StartDateTimeUtc = valueList.StartDateTimeUtc; this.UpdateDateTimeUtc = valueList.UpdateDateTimeUtc; this.UpdatedBy = valueList.UpdatedBy; this.UpdatedBy_UserProfileId = valueList.UpdatedBy_UserProfileId; this.ValueListItems = valueList.ValueListItems; this.ValueListId = valueList.ValueListId; this._valueListItemEditAdminViewModels = null; }
public static void SetDefaultsForNew(this ValueListItem valueListItem, ValueList valueList) { valueListItem.Name = "New Value"; valueListItem.Order = 100; if (valueList != null) { valueListItem.ValueList = valueList; valueListItem.ValueListId = valueList.ValueListId; valueListItem.ClientId = valueList.ClientId; valueListItem.Client = valueList.Client; valueListItem.Order = (valueList.ValueListItems.Count == 0) ? 100 : valueList.ValueListItems.Max(vl => vl.Order) + 10; if (valueList.ValueListItems.Any(vl => vl.Name.ToLower() == valueListItem.Name.ToLower())) { int index = 1; do { index++; valueListItem.Name = "New Value " + index; } while (valueList.ValueListItems.Any(vl => vl.Name.ToLower() == valueListItem.Name.ToLower())); } } valueListItem.Description = valueListItem.Name; valueListItem.IsPending = false; valueListItem.EndDateTimeUtc = DateTime.UtcNow.AddYears(100); valueListItem.StartDateTimeUtc = DateTime.UtcNow.AddMinutes(-1); }
public ActionResult Edit(ValueList valueList) { if (ModelState.IsValid) { valueList.UpdateAuditFields(CurrentUserProfileOrThrow); valueList = GStoreDb.ValueLists.Update(valueList); GStoreDb.SaveChanges(); AddUserMessage("Value List Updated", "Changes saved successfully to Value List '" + valueList.Name.ToHtml() + "' [" + valueList.ValueListId + "]", UserMessageType.Success); return RedirectToAction("Index"); } this.BreadCrumbsFunc = htmlHelper => this.ValueListBreadcrumb(htmlHelper, valueList.ClientId, valueList); return View(valueList); }
protected MvcHtmlString ValueListItemsBreadcrumb(HtmlHelper htmlHelper, ValueList valueList, bool ShowAsLink = false) { return new MvcHtmlString( ValueListBreadcrumb(htmlHelper, valueList.ClientId, valueList, true).ToHtmlString() + " -> " + (ShowAsLink ? htmlHelper.ActionLink("List Items", "ListItemIndex", "ValueListSysAdmin", new { id = valueList.ValueListId }, null).ToHtmlString() : "List Items") ); }
protected MvcHtmlString ValueListBreadcrumb(HtmlHelper htmlHelper, int? clientId, ValueList valueList, bool ShowAsLink = false) { RouteValueDictionary routeData = null; string name = "(unknown)"; bool showLink = false; if (valueList != null) { if (valueList.ValueListId == 0) { name = "New"; } else { showLink = ShowAsLink; routeData = new RouteValueDictionary(new { id = valueList.ValueListId }); name = "'" + valueList.Name + "' [" + valueList.ValueListId + "]"; } } return new MvcHtmlString( ValueListsBreadcrumb(htmlHelper, clientId, true).ToHtmlString() + " -> " + (showLink ? htmlHelper.ActionLink(name, "Details", "ValueListSysAdmin", routeData, null).ToHtmlString() : name) ); }
public static bool ValidateValueListFastAddItemName(this IGstoreDb db, GStoreData.ControllerBase.BaseController controller, string name, ValueList valueList, int? currentValueListItemId) { string nameField = "fastAddValueListItem"; if (string.IsNullOrWhiteSpace(name)) { string errorMessage = "Name is required \n Please enter a unique name for this Value List Item"; controller.ModelState.AddModelError(nameField, errorMessage); return false; } ValueListItem conflict = valueList.ValueListItems.Where(p => p.Name.ToLower() == name.ToLower() && (p.ValueListId != currentValueListItemId)).FirstOrDefault(); if (conflict == null) { return true; } string errorConflictMessage = "Name '" + name + "' is already in use for Value List Item '" + conflict.Name + "' [" + conflict.ValueListItemId + "] in Client '" + conflict.Client.Name.ToHtml() + "' [" + conflict.ClientId + "]. \n You must enter a unique Name or change the conflicting Value List Item Name."; controller.ModelState.AddModelError(nameField, errorConflictMessage); return false; }