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;
            }));
        }