本文整理汇总了C#中Criteria.To方法的典型用法代码示例。如果您正苦于以下问题:C# Criteria.To方法的具体用法?C# Criteria.To怎么用?C# Criteria.To使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Criteria
的用法示例。
在下文中一共展示了Criteria.To方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: User
public new ActionResult User(FormCollection collection, long[] ids)
{
if (ids.Length == 0)
{
FlashInfo("请选择要查看用户的角色。");
return Close();
}
using (var session = new SessionFactory().OpenSession())
{
session.BeginTransaction();
var roles = session.Find<Role>(m => m.Id.In(ids));
if (roles == null || roles.Count == 0)
{
FlashInfo("请选择要查看用户的角色。");
return Close();
}
ViewData["roleName"] = string.Join(",", roles.Select(m => m.Name));
var roleIds = roles.Select(m => m.Id).ToList();
var userIds = Request.Params["select_id"].ToLongArray();
session.Delete<AccountRoleRef>(m => m.RoleId.In(ids));
if (userIds.Length > 0)
{
var q = new Criteria<Account>(session)
.AndIn<User>(m => m.Name, n => n.Code, n => n.Id.In(userIds))
.Select(m => m.Id);
var accountIds = q.To<long>();
if (accountIds.Count < userIds.Length)
{
FlashWarn("有{0}个用户没有激活,请全部激活后再操作。", userIds.Length - accountIds.Count);
return Close();
}
var toCreateItems = (from accountId in accountIds
from roleId in roleIds
select
new AccountRoleRef
{
AccountId = accountId,
RoleId = roleId,
CreatedAt = DateTime.Now,
CreatedBy = CurrentAccountNo
}).ToArray();
if (toCreateItems.Length > 0)
{
if (session.Create(toCreateItems))
{
session.Commit();
FlashSuccess("给角色分配用户成功!");
return Close();
}
}
session.Rollback();
FlashFailure("给角色分配用户失败!");
return User(ids);
}
session.Commit();
FlashSuccess("取消角色全部用户成功!");
return Close();
}
}