在我的应用程序中,用户可以委托另一个用户批准订单。
我需要验证的是,不存在循环引用,因此如果在某个时期内User A
进行了委托,则不能在该时期内的任何时间进行委托,即存在重叠(日期):User B
User B
User A
dd/mm/yyyy
Delegator Delegated To DateFrom DateTo
User A User B 01/11/2012 08/11/2012
User A User B 16/12/2012 24/12/2012
Run Code Online (Sandbox Code Playgroud)
这是我必须检查重叠的代码:
var overlaps = .Session.QueryOver<DelegateOrderApproval>()
.Where(x => x.DateFrom > DateTime.Now && delegateOrderApproval.DelegatedUser.UserId == x.DelegatorUser.UserId)
.And(x => x.DateFrom >= delegateOrderApproval.DateFrom && delegateOrderApproval.DateTo <= x.DateTo
|| (x.DateFrom >= delegateOrderApproval.DateFrom && x.DateTo <= delegateOrderApproval.DateTo)
|| (x.DateFrom <= delegateOrderApproval.DateFrom && x.DateTo >= delegateOrderApproval.DateFrom)
|| (x.DateFrom <= delegateOrderApproval.DateFrom && x.DateTo >= delegateOrderApproval.DateTo))
.List();
Run Code Online (Sandbox Code Playgroud)
如果我尝试添加以下记录:
var overlaps …
Run Code Online (Sandbox Code Playgroud) 我有一个带有客户列表的中继器。每个客户都有一个删除链接按钮。作为链接按钮的一部分,我想将 Customer 对象传递给 Command Arguement,如下所示(其中 Container.DataItem 是客户对象):
<asp:LinkButton ID="lnkDelete"
OnClientClick="return confirmDelete();"
OnClick="Customer_OnDelete"
CommandArgument="<%# Container.DataItem %>"
CommandName="Delete"
runat="server"></asp:LinkButton>
Run Code Online (Sandbox Code Playgroud)
当我这样做时:
var button = (((LinkButton) sender));
var customer= button.CommandArgument;
Run Code Online (Sandbox Code Playgroud)
button.CommandArgument 是一个字符串。我需要所有的对象属性,因为我们使用 Nhibernate,所以需要设置所有内容,删除记录的 ID 是不够的。我在网上看到过关于将逗号分隔的值列表传递到命令论证中的示例,但希望避免这样做。这可能吗?
有任何想法吗?谢谢
我正在使用Nhibernate 3.0并需要在网站上实现分页.基本上我们有一个ProductCategory,它有一个与之关联的产品集合.到目前为止,我有这个确实有效
var result = Session.QueryOver<TEntity>().TransformUsing(Transformers.DistinctRootEntity)
.Where(category => category.CategoryId == criteria.CategoryId)
.Fetch(category => category.Products).Eager
.Take(pageSize)
.Skip((pageIndex - 1)*pageSize)
.Future<TEntity>();
Run Code Online (Sandbox Code Playgroud)
这将返回我正在请求的类别,并根据传入的页面大小和页面索引正确分页子产品.
我现在想要做的实际上是获得产品的总行数,例如,即使我只返回5个产品,我需要知道总共有100个.
非常感谢
c# ×3
asp.net ×1
date ×1
linkbutton ×1
linq ×1
nhibernate ×1
pagination ×1
queryover ×1
repeater ×1