public Task <ProjectViewModel.ProjectListResult> GetByCategory(ProjectViewModel.GetByCategoryRequest request) { return(Task.Run(() => { ProjectViewModel.ProjectListResult result = new ProjectViewModel.ProjectListResult(); result.ProjectList = _dbRepository.GetAll <Project>() .Where(x => x.Category == request.Category) .Select(x => new ProjectViewModel.ProjectSingleResult() { ProjectId = x.ProjectId, ProjectName = x.ProjectName, ProjectMainUrl = x.ProjectMainUrl, Category = x.Category, ProjectStatus = x.ProjectStatus, CreatorName = x.CreatorName, FundingAmount = x.FundingAmount, AmountThreshold = x.AmountThreshold, EndDate = x.EndDate.ToString("d"), StartDate = x.StartDate.ToString("d"), Fundedpeople = x.Fundedpeople, }).ToList(); return result; })); }
//取得全部 public Task <ProjectViewModel.ProjectListResult> GetAll() { return(Task.Run(() => { ProjectViewModel.ProjectListResult result = new ProjectViewModel.ProjectListResult(); result.ProjectList = _dbRepository .GetAll <Project>() .Select(p => new ProjectViewModel.ProjectSingleResult() { ProjectId = p.ProjectId, ProjectName = p.ProjectName, FundingAmount = p.FundingAmount, Category = p.Category, ProjectStatus = p.ProjectStatus, StartDate = p.StartDate.ToString("d"), EndDate = p.EndDate.ToString("d"), MemberId = p.MemberId, Fundedpeople = p.Fundedpeople, ProjectDescription = p.ProjectDescription, ProjectVideoUrl = p.ProjectVideoUrl, ProjectQuestion = p.ProjectQuestion, ProjectAnswer = p.ProjectAnswer, ProjectPlansCount = p.ProjectPlansCount, ProjectCoverUrl = p.ProjectCoverUrl, ProjectImgUrl = p.ProjectImgUrl, AmountThreshold = p.AmountThreshold, CreatorName = p.CreatorName, ProjectMainUrl = p.ProjectMainUrl, ProjectPrincipal = p.ProjectPrincipal, IdentityNumber = p.IdentityNumber, CreatedDate = p.CreatedDate.ToString("d"), SubmittedDate = p.SubmittedDate.ToString("d"), LastEditTime = p.LastEditTime.ToString("d"), ApprovingStatus = p.ApprovingStatus, RestDay = p.EndDate.Subtract(p.StartDate).Days, PlanList = _dbRepository .GetAll <Plan>() .Where(pl => pl.ProjectId == p.ProjectId) .Select(pl => new Plan { PlanId = pl.PlanId, ProjectPlanId = pl.ProjectPlanId, ProjectId = pl.ProjectId, PlanTitle = pl.PlanTitle, PlanFundedPeople = pl.PlanFundedPeople, PlanShipDate = pl.PlanShipDate, PlanDescription = pl.PlanDescription, PlanImgUrl = pl.PlanImgUrl, QuantityLimit = pl.QuantityLimit, ProjectName = pl.ProjectName, PlanPrice = pl.PlanPrice, AddCarCarPlan = pl.AddCarCarPlan, }).ToList(), CommentList = _dbRepository .GetAll <Comment>() .Where(c => c.ProjectId == p.ProjectId) .Select(c => new Comment { CommentId = c.CommentId, ProjectId = c.ProjectId, MemberId = c.MemberId, CommentQuestion = c.CommentQuestion, CommentTime = c.CommentTime, CommentAnswer = c.CommentAnswer, ReadStatus = c.ReadStatus, AskedMemberId = c.AskedMemberId }).ToList(), }).ToList(); return result; })); }