public async Task <ResponseViewModel <List <UserTunnelsViewModel> > > Tunnels(int page, int limit) { var tunnels = new List <UserTunnelsViewModel>(); var userId = HttpContext.User.FindFirst(u => u.Type == ClaimTypes.NameIdentifier).Value; var list = await _tunnelProvider.Tunnels(Convert.ToInt32(userId)); var curList = list.ToList().Skip(limit * (page - 1)).Take(limit).ToList(); curList.ForEach(x => { var status = (x.Status == 1 && x.ExpiredTime <= DateTime.Now && x.ExpiredTime != null) ? 9 : x.Status; var vm = new UserTunnelsViewModel { TunnelId = x.TunnelId, UserId = x.UserId, TunnelProtocol = x.TunnelProtocol, TunnelName = x.TunnelName, SubDomain = x.SubDomain, LocalPort = x.LocalPort, Status = status, CreateTime = x.CreateTime.ToLongDateString(), OpenTime = x.OpenTime == null ? null : Convert.ToDateTime(x.OpenTime).ToLongDateString(), ExpiredTime = x.ExpiredTime == null ? null : Convert.ToDateTime(x.ExpiredTime).ToLongDateString(), FullUrl = x.FullUrl }; tunnels.Add(vm); }); var result = new ResponseViewModel <List <UserTunnelsViewModel> > { Count = list.ToList().Count, Data = tunnels }; return(result); }
public async Task <ResponseViewModel <List <UserTunnelsViewModel> > > Tunnels(int page, int limit, string userName, string email, int status, string subDomain) { var tunnels = new List <UserTunnelsViewModel>(); var list = await _tunnelProvider.Tunnels(userName, email, status, subDomain); var curList = list.ToList().Skip(limit * (page - 1)).Take(limit).ToList(); curList.ForEach(x => { var vm = new UserTunnelsViewModel { TunnelId = x.TunnelId, UserName = x.UserName, Email = x.Email, AuthToken = x.AuthToken, TunnelProtocol = x.TunnelProtocol, TunnelName = x.TunnelName, SubDomain = x.SubDomain, LocalPort = x.LocalPort, CreateTime = x.CreateTime.ToLongDateString(), OpenTime = x.OpenTime == null ? null : Convert.ToDateTime(x.OpenTime).ToLongDateString(), ExpiredTime = x.ExpiredTime == null ? null : Convert.ToDateTime(x.ExpiredTime).ToLongDateString(), FullUrl = x.FullUrl, Status = x.Status, UserId = x.UserId }; tunnels.Add(vm); }); var data = new ResponseViewModel <List <UserTunnelsViewModel> > { Count = list.Count(), Data = tunnels }; return(data); }