本文整理汇总了C#中Menu.UpdateNodePosition方法的典型用法代码示例。如果您正苦于以下问题:C# Menu.UpdateNodePosition方法的具体用法?C# Menu.UpdateNodePosition怎么用?C# Menu.UpdateNodePosition使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Menu
的用法示例。
在下文中一共展示了Menu.UpdateNodePosition方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ChangeMenuParent
/// <summary>
/// 지정된 자식 Menu의 부모를 지정된 Menu로 변경합니다.
/// </summary>
/// <param name="child">child menu</param>
/// <param name="newParent">new parent menu</param>
public void ChangeMenuParent(Menu child, Menu newParent)
{
child.ShouldNotBeNull("child");
var oldParent = child.Parent;
if(Equals(oldParent, newParent))
{
if(log.IsInfoEnabled)
log.Info(@"변경할 부모가 현재 부모와 같습니다. 부모 변경 작업을 수행하지 않습니다.");
return;
}
if(IsDebugEnabled)
log.Debug("Menu의 부모 정보를 변경합니다... child code={0}, new parent code={1}, old parent code={2}",
child.Code,
(newParent != null) ? newParent.Code : EntityTool.NULL_STRING,
(oldParent != null) ? oldParent.Code : EntityTool.NULL_STRING);
child.ChangeParent(oldParent, newParent);
child.UpdateNodePosition();
Repository<Menu>.SaveOrUpdate(child);
}
示例2: CreateMenuOf
/// <summary>
/// 지정된 부모 메뉴의 자식 메뉴를 생성합니다.
/// </summary>
/// <param name="parent">부모 메뉴</param>
/// <param name="code">새로운 메뉴의 Id</param>
/// <param name="menuTemplate">새로운 메뉴의 메뉴 템플릿 정보</param>
/// <returns></returns>
public Menu CreateMenuOf(Menu parent, string code, MenuTemplate menuTemplate)
{
if(parent == null)
return CreateMenu(menuTemplate, code);
code.ShouldNotBeWhiteSpace("code");
Guard.Assert(parent.MenuTemplate.Product == menuTemplate.Product,
@"부모 메뉴의 Product 정보와 새로 만들 MenuTemplate의 Product정보가 틀립니다.");
if(IsDebugEnabled)
log.Debug(@"새로운 Menu 정보를 생성합니다... parent={0}, code={1}, menuTemplate={2}",
parent, code, menuTemplate);
var menu = new Menu(menuTemplate, code);
menu.SetParent(parent);
menu.UpdateNodePosition();
return Repository<Menu>.SaveOrUpdate(menu);
}