using System; using System.Collections.Generic; using System.Text; using System.Data; using WeiSha.Common; using Song.Entities; using WeiSha.Data; using Song.ServiceInterfaces; namespace Song.ServiceImpls { /// /// 员工工作日志 /// public class DailyLogCom : IDailyLog { /// /// 添加 /// /// 业务实体 public void Add(DailyLog entity) { entity.Dlog_CrtTime = DateTime.Now; Gateway.Default.Save(entity); } /// /// 修改 /// /// 业务实体 public void Save(DailyLog entity) { Gateway.Default.Save(entity); } /// /// 删除,按主键ID; /// /// 实体的主键 public void Delete(int identify) { Gateway.Default.Delete(DailyLog._.Dlog_Id == identify); } /// /// 获取单一实体对象,按主键ID; /// /// 实体的主键 /// public DailyLog GetSingle(int identify) { return Gateway.Default.From().Where(DailyLog._.Dlog_Id == identify).ToFirst(); } /// /// 获取当前记录类别的上一个记录,如当前日志的上一个日志 /// /// /// 记录类别,1为日志,2为周志,3为月志,4为季度总结,5为年度总结 /// 员工id /// public DailyLog GetPrevious(DateTime currTime, string type, int accId) { return Gateway.Default.From() .Where(DailyLog._.Acc_Id == accId && DailyLog._.Dlog_Type == type && DailyLog._.Dlog_WrtTime < currTime) .OrderBy(DailyLog._.Dlog_WrtTime.Desc).ToFirst(); } /// /// 分页获取所有的人员; /// /// 所属人员的id /// 分类,1为日志,2为周志,3为月志,4为季度总结,5为年度总结 /// 每页显示几条记录 /// 当前第几页 /// 记录总数 /// public DailyLog[] GetPager(int accId, string type, int size, int index, out int countSum) { WhereClip wc = DailyLog._.Acc_Id == accId && DailyLog._.Dlog_Type==type; countSum = Gateway.Default.Count(wc); return Gateway.Default.From().Where(wc).OrderBy(DailyLog._.Dlog_WrtTime.Desc).ToArray(size, (index - 1) * size); } public DailyLog[] GetPager(int accId, string type, DateTime start, DateTime end, int size, int index, out int countSum) { WhereClip wc = DailyLog._.Acc_Id == accId && DailyLog._.Dlog_Type == type; wc.And(DailyLog._.Dlog_WrtTime >= start && DailyLog._.Dlog_WrtTime <= end); countSum = Gateway.Default.Count(wc); return Gateway.Default.From().Where(wc).OrderBy(DailyLog._.Dlog_WrtTime.Desc).ToArray(size, (index - 1) * size); } } }