using System; using System.Collections.Generic; using Tanshu.Accounts.Entities; using Tanshu.Accounts.Entities.Auth; using NHibernate; namespace Tanshu.Accounts.Repository { public class AdvanceBI : FluentGenericBase { public AdvanceBI() : base() { } public AdvanceBI(bool beginTransaction) : base(beginTransaction) { } public AdvanceBI(ISession session) : base(session) { } public AdvanceBI(ISession session, bool beginTransaction) : base(session, beginTransaction) { } public IList GetAdvances(DateTime startDate, DateTime finishDate, bool all) { startDate = startDate.Date; finishDate = finishDate.Date.AddHours(23).AddMinutes(59).AddSeconds(59); var query = from ad in Session.QueryOver() where ad.DateIn >= startDate && ad.DateIn <= finishDate select ad; if (!all) query = from a in query where a.CashierOut == null select a; var list = query.List(); foreach (var item in list) { NHibernateUtil.Initialize(item.CashierIn); NHibernateUtil.Initialize(item.CashierOut); } return list; } public void Adjust(int advanceID, int userID) { var advance = Session.Get(advanceID); advance.DateOut = DbValues.Date; advance.CashierOut = Session.Get(userID); Session.Update(advance); } } }