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);
}
}
}