public IEnumerable <BusinessPlan> GetBusinessPlans(BusinessPlanRequest criteria) { var plans = _businessPlanRepository.GetAll <BusinessPlan>() .Where(b => criteria.Year == 0 || b.Year == criteria.Year) .Where(b => criteria.UserID == 0 || b.UserID == criteria.UserID) .Where(b => b.DeleteDate == null) .AsNoTracking() .IncludeAll() .ToList(); if (!plans.Any()) { return(plans); } var users = _userService.GetUsers(new UserRequest() { UserIDs = plans.Select(b => b.UserID).ToList() }).Users; foreach (var plan in plans.Where(p => p.Objectives.Any())) { var user = users.FirstOrDefault(u => u.UserID == plan.UserID); if (user == null) { continue; } foreach (var objective in plan.Objectives) { var value = user.GetMappedObjectiveProperty(objective.Name); if (value != null) { objective.CurrentValue = value.ToString(); } if (user.MetricsUpdateDate != DateTime.MinValue) { objective.CurrentValueDate = user.MetricsUpdateDate; } } } return(plans); }
public IEnumerable <BusinessPlan> GetBusinessPlans(BusinessPlanRequest criteria) { var proxy = _businessPlanService.CreateProxy(); return(proxy.GetBusinessPlans(criteria)); }