//分页获取停车记录
public ParkEventSearchResultForWebDTO GetParkLogListFromDB(ParkEventSearchConditionDTO sc)
{
try
{
ParkEventSearchResultForWebDTO returnObj = new ParkEventSearchResultForWebDTO();
returnObj.list = new List<ParkLogDTO>();
string whereStr = "";
if (ConvertDataTimeToLong(sc.enterStartTime) > 0)
{
if (whereStr != "") whereStr += " and";
whereStr = whereStr + string.Format(" x.EnterTime > '{0}' ", sc.enterStartTime.ToString("yyyy-MM-dd HH:mm:ss"));
}
if (ConvertDataTimeToLong(sc.enterEndTime) > 0)
{
if (whereStr != "") whereStr += " and";
whereStr = whereStr + string.Format(" x.EnterTime < '{0}' ", sc.enterEndTime.ToString("yyyy-MM-dd HH:mm:ss"));
}
if (ConvertDataTimeToLong(sc.leaveStartTime) > 0)
{
if (whereStr != "") whereStr += " and";
whereStr = whereStr + string.Format(" x.LeaveTime > '{0}' ", sc.leaveStartTime.ToString("yyyy-MM-dd HH:mm:ss"));
}
if (ConvertDataTimeToLong(sc.leaveEndTime) > 0)
{
if (whereStr != "") whereStr += " and";
whereStr = whereStr + string.Format(" x.LeaveTime < '{0}' ", sc.leaveEndTime.ToString("yyyy-MM-dd HH:mm:ss"));
}
if (!string.IsNullOrEmpty(sc.license))
{
if (whereStr != "") whereStr += " and";
whereStr = whereStr + string.Format(" x.CarNumber = '{0}' ", sc.license);
}
if (sc.enterDevId != null)
{
if (whereStr != "") whereStr += " and";
whereStr = whereStr + string.Format(" x.EnterDevid = '{0}' ", sc.enterDevId);
}
if (!string.IsNullOrEmpty(sc.cardCode))
{
if (whereStr != "") whereStr += " and";
whereStr = whereStr + string.Format(" x.CardCode = '{0}' ", sc.cardCode);
}
if (sc.leaveDevId != null)
{
if (whereStr != "") whereStr += " and";
whereStr = whereStr + string.Format(" x.LeaveDevid = '{0}' ", sc.leaveDevId);
}
String orderStr = " order by x.EnterTime desc";
String hql = "select x from ParkLog x " + (whereStr != "" ? ("where" + whereStr) : "") + orderStr; ;
IQuery query = ParkLogDao.GetSession().CreateQuery(hql);
List<ParkLog> tempList = query.List<ParkLog>().ToList();
returnObj.total = tempList.Count();
if (sc.pageSize == 0)
sc.pageSize = 20;
if (sc.pageNum == 0)
sc.pageNum = 1;
if (returnObj.total % sc.pageSize == 0)
{
returnObj.pages = returnObj.total / sc.pageSize;
}
else
{
returnObj.pages = returnObj.total / sc.pageSize + 1;
}
int start = (sc.pageNum - 1) * sc.pageSize;
int cnt = sc.pageSize;
if (start >= returnObj.total)
return null;
if ((start + sc.pageSize > returnObj.total))
{
cnt = returnObj.total - sc.pageSize * (sc.pageNum - 1);
}
tempList = tempList.GetRange(start, cnt);
foreach (var item in tempList)
{
returnObj.list.Add(DTOTransfer.ToDTO(item));
}
returnObj.pageSize = sc.pageSize;
returnObj.pageNum = sc.pageNum;
return returnObj;
}
catch (Exception ex)
{
LogHelper.GetLog("Server").Error(ExceptionHelper.GetExceptionDesc(ex));
throw;
}
}
public List<SysUserDTO> GetUserList(UserSearchConditionDTO cond)
{
try
{
List<SysUser> userLst = null;
if (cond != null)
{
userLst = _userList.FindAll(item =>
(cond.userName == null || item.UserName.Contains(cond.userName))
&& (cond.LoginName == null || item.LoginName.Contains(cond.LoginName))
&& (cond.departmentId == null || item.DeptId == (int)cond.departmentId));
}
else
{
userLst = _userList;//.FindAll(item => item.DelFlag == null || item.DelFlag == false);
}
if (userLst != null && userLst.Count() > 0)
{
List<SysUserDTO> returnValue = new List<SysUserDTO>();
foreach (var us in userLst)
{
var usDto = DTOTransfer.ToDTO(us);
SysDepartment sysDep = _deptList.Find(item => item.DeptId == usDto.SysDepartment.DeptId);
if (null != sysDep)
{
//usDto.SysDepartment.DeptName = sysDep.DeptName;
usDto.SysDepartment = DTOTransfer.ToDTO(sysDep);
}
SysUserRole sysUserRole = _userRoleList.Find(item => item.Urid == usDto.UserId);
if (null != sysUserRole)
{
usDto.SysRole = DTOTransfer.ToDTO(_roleList.Find(item => item.RoleId == sysUserRole.RoleId));
}
returnValue.Add(usDto);
}
//var userDTOList = userLst.Select(item => DTOTransfer.ToDTO(item)).ToList();
return returnValue;
}
else
return null;
List<SysUserDTO> listSysUser = new List<SysUserDTO>();
#region 登录用户不为空的处理
if (!String.IsNullOrEmpty(cond.LoginName))
{
SysUser sysUserObj = _userList.Find(item => item.LoginName == cond.LoginName);
//SysUser sysUserObj = SysUserDao.GetAll(item => item.LoginName == cond.LoginName && (item.DelFlag == null || item.DelFlag == false)).First();
if (null == sysUserObj)
return null;
if (cond.roleId > 0)
{// 指定查找用户角色
List<SysUserRole> userList = SysUserRoleDao.GetAll(item => item.RoleId == cond.roleId);
var userRole = _userRoleList.Find(item => item.RoleId == cond.roleId);
if (userRole == null)
return null;
int flag = 0;
foreach (var userListObj in userList)
{
if (userListObj.UserId == sysUserObj.UserId)
{
flag = 1;
break;
}
}
if (0 == flag)
return null;
}
if (null != cond.onlineState)
{
if (cond.onlineState != sysUserObj.IsLogin)
return null;
}
if (!String.IsNullOrEmpty(cond.userName))
{
if (!sysUserObj.UserName.Contains(cond.userName))
return null;
}
SysUserDTO sysUserDto = DTOTransfer.ToDTO(sysUserObj);
listSysUser.Add(sysUserDto);
}
#endregion
#region 登录用户为空的处理
else
{
if (cond.roleId > 0)
{
List<SysUserRole> userList = SysUserRoleDao.GetAll(item => item.RoleId == cond.roleId);
if (0 == userList.Count())
return null;
foreach (var userListObj in userList)
{
SysUser sysUserObj = _userList.Find(item => item.UserId == userListObj.UserId);
//SysUser sysUserObj = SysUserDao.Get(userListObj.UserId);
if (null == sysUserObj)
continue;
//if (sysUserObj.DelFlag == true)
// continue;
if (!String.IsNullOrEmpty(cond.userName) && !(sysUserObj.UserName.Contains(cond.userName)))
continue;
if (null == cond.onlineState)
{
SysUserDTO sysUserDto = DTOTransfer.ToDTO(sysUserObj);
listSysUser.Add(sysUserDto);
}
else if (null != cond.onlineState && sysUserObj.IsLogin == cond.onlineState)
{
SysUserDTO sysUserDto = DTOTransfer.ToDTO(sysUserObj);
listSysUser.Add(sysUserDto);
}
}
}
else
{
//var userList = SysUserDao.GetAll();
foreach (var userListObj in _userList)
{
if (!String.IsNullOrEmpty(cond.userName) && !(userListObj.UserName.Contains(cond.userName)))
continue;
if (null == cond.onlineState)
{
SysUserDTO sysUserDto = DTOTransfer.ToDTO(userListObj);
listSysUser.Add(sysUserDto);
}
else if (null != cond.onlineState && userListObj.IsLogin == cond.onlineState)
{
SysUserDTO sysUserDto = DTOTransfer.ToDTO(userListObj);
listSysUser.Add(sysUserDto);
}
}
}
}
#endregion
return listSysUser;
}
catch (Exception ex)
{
Console.WriteLine(ExceptionHelper.GetExceptionDesc(ex));
throw ex;
}
}