using System; using System.Collections.Generic; using System.Text; using Tanshu.Accounts.Contracts; using System.Data.SqlClient; using Tanshu.Data.DAO; using Tanshu.Accounts.Entities; using Tanshu.Accounts.SqlDAO; using Tanshu.Accounts.Entities.Auth; using NHibernate; namespace Tanshu.Accounts.Repository { public class AdvanceBI { public void Insert(Advance advance) { using (var session = SessionManager.Session) { using (var trans = session.BeginTransaction()) { session.Save(advance); trans.Commit(); } } } public IList GetAdvances(DateTime startDate, DateTime finishDate, bool all) { startDate = startDate.Date; finishDate = finishDate.Date.AddHours(23).AddMinutes(59).AddSeconds(59); using (var session = SessionManager.Session) { 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) { using (var session = SessionManager.Session) { using (var trans = session.BeginTransaction()) { var advance = session.Get(advanceID); advance.DateOut = DbValues.Date; advance.CashierOut = session.Get(userID); session.Update(advance); trans.Commit(); } } } } }