/// <summary> /// Adds a nav. /// </summary> /// <param name="slug"></param> /// <param name="name"></param> /// <param name="description"></param> public static Nav AddNav(string slug, string name, string description, int appId) { var nav = new Nav { Slug = Nav.FormatNavSlug(slug), // TODO: format NavSlug in AddNav Name = WebHelper.HtmlEncode(name), Description = WebHelper.HtmlEncode(description), DateCreated = DateTime.UtcNow, AppId = appId, }; var validator = new NavValidator(); ValidationResult results = validator.Validate(nav); if (!results.IsValid) { throw new Exception(results.Errors[0].ErrorMessage); } Provider.AddNav(nav); SiteCache.Remove(AdminManager._GetCacheKey_Nav(nav.Slug)); return nav; }
/// <summary> /// Updates a nav by its slug. /// </summary> /// <param name="navSlug">The slug of the existing nav you are updating.</param> /// <param name="name">new name</param> /// <param name="slug">new slug</param> /// <param name="description">new description</param> /// <remarks> /// Should I allow navSlug to be updated after creation? Right now yes. /// </remarks> public static void UpdateNav(string navSlug, string name, string slug, string description) { var nav = new Nav { NavId = GetNavId(navSlug), Slug = Nav.FormatNavSlug(slug), // TODO: format NavSlug in UpdateNav Name = WebHelper.HtmlEncode(name), Description = WebHelper.HtmlEncode(description), }; var validator = new NavValidator(); ValidationResult results = validator.Validate(nav); if (!results.IsValid) { throw new Exception(results.Errors[0].ErrorMessage); } SiteCache.Remove(AdminManager._GetCacheKey_Nav(navSlug)); Provider.UpdateNav(nav); }