Ejemplo n.º 1
0
        public PageGridData <DomainResourceDto> GetDomainPage(DomainResourceQuery query)
        {
            using (var dbScope = _dbScopeFactory.CreateReadOnly())
            {
                var db   = dbScope.DbContexts.Get <FireProjDbContext>();
                var data = from domainresource in db.DomainResource.AsQueryable()

                           join project in db.Project.AsQueryable() on domainresource.ProjectId equals project.Id

                           join task in db.TaskInfo.AsQueryable() on domainresource.TaskId equals task.Id
                           into tempTask
                           from parTask in tempTask.DefaultIfEmpty()

                           join server in db.Servers.AsQueryable() on domainresource.ServerId equals server.Id
                           into tempServer
                           from parServer in tempServer.DefaultIfEmpty()

                           select new DomainResourceDto
                {
                    Id            = domainresource.Id,
                    Name          = domainresource.Name,
                    ProjectId     = domainresource.ProjectId,
                    ProjectName   = project.ProjectName,
                    TaskId        = domainresource.TaskId,
                    TaskName      = parTask.TaskName,
                    ServerId      = domainresource.ServerId,
                    ServerName    = parServer.Name,
                    SiteName      = domainresource.SiteName,
                    StageType     = parServer.StageType,
                    TaskCreatorId = parTask.CreatorId,
                };
                var result = data.OrderBy(r => r.Id).Skip(query.Offset).Take(query.Limit).ToList();
                var total  = data.Count();
                return(new PageGridData <DomainResourceDto> {
                    rows = result, total = total
                });
            }
        }
 /// <summary>
 /// 获取资源服务分页
 /// </summary>
 /// <param name="query"></param>
 /// <returns></returns>
 public IHttpActionResult Get([FromUri]DomainResourceQuery query)
 {
     var result = _domainResourceSvc.GetDomainPage(query);
     return Ok(result);
 }