public PagedList <LoginLog> GetLoginLog(RequestUserQDTO request)
        {
            using (var db = new DBEntities())
            {
                var query = from log in db.LoginLogs
                            select log;

                if (!string.IsNullOrEmpty(request.UserName))
                {
                    query = query.Where(t => t.LoginName.Contains(request.UserName) || t.LoginAccount.Contains(request.UserName));
                }

                query = query.OrderByDescending(t => t.LoginTime);

                var ret = query.ToPagedList(request.PageIndex, request.PageSize);
                return(ret);
            }
        }
        public PagedList <ResponseUserDTO> GetUserList(RequestUserQDTO request)
        {
            using (var db = new DBEntities())
            {
                var query = from ua in db.Users.Where(t => !t.IsDeleted)
                            join rolemap in db.UserRoleMaps on ua.ID equals rolemap.UserID into rolemapLeft
                            from rolemapEmpty in rolemapLeft.DefaultIfEmpty()
                            join role in db.Roles.Where(t => t.State == 0) on rolemapEmpty.RoleID equals role.ID into roleLeft
                            from roleEmpty in roleLeft.DefaultIfEmpty()
                            group new { ua.LastTime, ua.ID, ua.UserID, ua.UserName, roleEmpty.RoleName }
                by new { ua.LastTime, ua.ID, ua.UserID, ua.UserName } into gro
                    select new ResponseUserDTO()
                {
                    LastTime = gro.Key.LastTime,
                    ID       = gro.Key.ID,
                    UserID   = gro.Key.UserID,
                    UserName = gro.Key.UserName,
                    Roles    = gro.Where(t => t.ID == gro.Key.ID).Select(t => new ResponseRoleDTO {
                        RoleName = t.RoleName
                    }).ToList()
                };

                if (!string.IsNullOrEmpty(request.UserName))
                {
                    query = query.Where(t => t.UserName.Contains(request.UserName) || t.UserID.Contains(request.UserName));
                }

                query = query.OrderBy(t => t.UserID);

                var ret = query.ToPagedList(request.PageIndex, request.PageSize);

                ret.ForEach(t =>
                {
                    t.LastTimeStr = t.LastTime.HasValue? t.LastTime.Value.ToString("yyyy-MM-dd HH:mm:ss"):"";
                    t.RolesStr    = string.Join(",", t.Roles.Select(q => q.RoleName).ToList());
                });

                return(ret);
            }
        }
Exemple #3
0
 public ApiResult GetLoginLog([FromBody] RequestUserQDTO request)
 {
     return(userService.GetLoginLog(request).ToApiResult());
 }