//Connects Backer's Id with FundingPackageId //Each FundingPackage is unique and assiassigned only at ONE Backer ////////public FundingPackage Fund(int userId, int fundId) ////////{ //////// var user = user_.GetUserById(userId); //////// FundingPackage funding = context_ //////// .Set<FundingPackage>() //////// .Find(fundId); //////// //the funding is assigned only if it is not already assigned //////// if (funding.User != null) //////// return null; //////// funding.User = user; //////// context_.SaveChanges(); //////// return funding; ////////} //Backer can find funding packages based on ProjectId public List <FundingPackage> SearchFundingPackage( SearchFundingPackageOptions fundOptions) { if (fundOptions == null) { return(null); } var query = context_ .Set <FundingPackage>() .AsQueryable(); Project projectResult = project_.GetProjectById(fundOptions.ProjectId); if (projectResult.Id != 0) { query = query.Where( c => c.Id == projectResult.Id); } return(query.ToList()); }
public IQueryable<FundingPackage> SearchFundingPackage(SearchFundingPackageOptions options) { if (options == null) { return null; } var query = context_ .Set<FundingPackage>() .AsQueryable(); if (!string.IsNullOrWhiteSpace(options.Name)) { query = query.Where(fp => fp.Name == options.Name); } if (!string.IsNullOrWhiteSpace(options.Description)) { query = query.Where(fp => fp.Name == options.Name); } if (options.FundingPackageId != null) { query = query.Where(fp => fp.FundingPackageId == options.FundingPackageId.Value); } if (options.PriceFrom != null) { query = query.Where(fp => fp.Price >= options.PriceFrom); } if (options.PriceTo != null) { query = query.Where(fp => fp.Price <= options.PriceTo); } query = query.Take(500); return query; }