private void SetIndicator(int indicatorId) { t_indicator indicator = Context.t_indicator.Find(indicatorId); Indicators = UserAssignedObjects.GetIndicators(indicator.aim.activity.aims.SelectMany(a => a.indicators), CurrentUser).Select(i => new Indicator(i, false, true, true)).ToList(); SelectedIndicatorId = indicatorId; SetActivity(indicator.aim.activity); // TODO: Recurse to project, organization? }
public static SelectList GetCountries(int userId, byte languageId, bool addBlank) { var countries = UserAssignedObjects.GetCountries(userId, languageId).OrderBy(c => c.name) .Select(x => new { country_id = x.country_id.ToString(), x.name }).ToList(); if (addBlank) { countries.Insert(0, new { country_id = "", name = "" }); } return(new SelectList(countries, "country_id", "name")); }
public static SelectList GetUserProjects(int userId, byte languageId, bool addBlank) { var projects = UserAssignedObjects.GetProjects(userId, languageId).OrderBy(p => p.name) .Select(x => new { project_id = x.project_id.ToString(), x.name }).ToList(); if (addBlank) { projects.Insert(0, new { project_id = "", name = "" }); } return(new SelectList(projects, "project_id", "name")); }
public Aim(int activityId) { t_activity activity = Context.t_activity.Find(activityId); if (activity == null) { throw new ArgumentException("Invalid activityId: " + activityId.ToString()); } ActivityId = activityId; ActivityAims = UserAssignedObjects.GetAims(activity.aims, CurrentUser) .ToDictionary(e => e.aim_id, e => e.get_name_translated(CurrentLanguageId)); }
public Indicator(int activityId) { // A little bit different workflow because we are instantiating a new (empty) indicator. ActivityId = activityId; var activity = Context.t_activity.Find(activityId); var aims = UserAssignedObjects.GetAims(activity.aims, CurrentUser) .Select(e => new Tuple <int?, string>(e.aim_id, e.get_name_translated(CurrentLanguageId))) .ToList(); aims.Insert(0, new Tuple <int?, string>(null, null)); ActivityAims = aims; AgeRanges = new Dictionary <string, string>(); }
private void SetProperties(t_aim aim, bool loadChildren, bool translate) { ActivityId = aim.activity_id; AimId = aim.aim_id; Active = aim.active; Sort = aim.sort; if (translate) { Name = aim.get_name_translated(CurrentLanguageId); } else { Name = aim.name; } if (loadChildren) { ActivityAims = UserAssignedObjects.GetAims(aim.activity.aims, CurrentUser).ToDictionary(e => e.aim_id, e => e.get_name_translated(CurrentLanguageId)); Indicators = UserAssignedObjects.GetIndicators(aim.indicators, CurrentUser).Select(i => new Indicator(i, false, true)).ToList(); } }
private void SetProperties(t_activity activity, bool loadChildren, bool translate) { ActivityId = activity.activity_id; ProjectId = activity.project_id; CountryId = activity.country_id; StartDate = activity.start_date; EndDate = activity.end_date; PrimaryManagerUserId = activity.primary_manager_userid; PrimaryManagerName = activity.primary_manager?.full_name; FunderFieldId = activity.funder_fieldid; FunderValue = activity.funder?.value; TechnicalAreaFieldId = activity.technical_area_fieldid; TechnicalAreaValue = activity.technical_area?.value; AdditionalManagerUserIds = activity.additional_managers.Select(m => m.user_id.ToString()).ToList(); AdditionalManagerNames = activity.additional_managers.Select(m => m.full_name).ToList(); TechnicalAreaSubtypeFieldIds = activity.technical_area_subtypes.Select(tast => tast.fieldid).ToList(); TechnicalAreaSubtypeValues = activity.technical_area_subtypes.Select(tast => tast.value).ToList(); Active = activity.active; if (translate) { Name = activity.get_name_translated(CurrentLanguageId); OtherKeyInformation = activity.get_other_key_information_translated(CurrentLanguageId); } else { Name = activity.name; OtherKeyInformation = activity.other_key_information; } if (loadChildren) { Aims = UserAssignedObjects.GetAims(activity.aims, CurrentUser).Select(a => new Aim(a, loadChildren, translate)).ToList(); Notes = activity.notes.Select(n => new Note(n)).ToList(); IsFavorite = activity.user_favorites.Select(e => e.user_id).Contains(CurrentUser.Id); HasObservations = activity.aims?.SelectMany(a => a.indicators?.SelectMany(i => i.observations))?.Any() ?? false; } }
private void SetProperties(t_indicator entity, bool loadChildren, bool loadParent, bool translate) { ActivityId = entity.aim?.activity_id ?? -1; // Refactor as nullable int when possible. AimId = entity.aim_id; IndicatorId = entity.indicator_id; TypeFieldId = entity.indicator_type_fieldid; TypeValue = entity.indicator_type?.value; GroupFieldId = entity.group_fieldid; GroupValue = entity.indicator_group?.value; DataCollectionFrequencyFieldId = entity.data_collection_frequency_fieldid; DataCollectionFrequencyValue = entity.data_collection_frequency?.value; SamplingFieldId = entity.sampling_fieldid; ReportClassFieldId = entity.report_class_fieldid; ReportClassValue = entity.report_class?.value; SamplingValue = entity.sampling?.value; ChangeVariable = entity.change_variable; DisaggregateBySex = entity.disaggregate_by_sex; DisaggregateByAge = entity.disaggregate_by_age; if (DisaggregateByAge) { AgeRanges = entity.indicator_age_ranges .OrderBy(e => e.indicator_age_range_id) .ToDictionary(e => Convert.ToString(e.indicator_age_range_id), e => e.age_range); } else { AgeRanges = new Dictionary <string, string>(); } TargetPerformance = entity.target_performance; ThresholdGoodPerformance = entity.threshold_good_performance; ThresholdPoorPerformance = entity.threshold_poor_performance; IncreaseIsGood = entity.increase_is_good; RatePerFieldId = entity.rate_per_fieldid; RatePerValue = entity.rate_per?.value; Active = entity.active; Sort = entity.sort; if (translate) { Definition = entity.get_definition_translated(CurrentLanguageId); Name = entity.get_name_translated(CurrentLanguageId); NumeratorName = entity.get_numerator_name_translated(CurrentLanguageId); NumeratorDefinition = entity.get_numerator_definition_translated(CurrentLanguageId); NumeratorSource = entity.get_numerator_source_translated(CurrentLanguageId); DenominatorName = entity.get_denominator_name_translated(CurrentLanguageId); DenominatorDefinition = entity.get_denominator_definition_translated(CurrentLanguageId); DenominatorSource = entity.get_denominator_source_translated(CurrentLanguageId); // DataCollectionFrequencyValue = entity.get_data_frequency_translated(CurrentLanguageId, DataCollectionFrequencyValue); } else { Definition = entity.definition; Name = entity.name; NumeratorName = entity.numerator_name; NumeratorDefinition = entity.numerator_definition; NumeratorSource = entity.numerator_source; DenominatorName = entity.denominator_name; DenominatorDefinition = entity.denominator_definition; DenominatorSource = entity.denominator_source; } if (loadParent) { Aim = new Aim(AimId, false); } if (loadChildren) { ActivityAims = UserAssignedObjects.GetAims(entity.aim.activity.aims, CurrentUser) .Select(e => new Tuple <int?, string>(e.aim_id, e.get_name_translated(CurrentLanguageId))) .ToList(); Sites = entity.aim.activity.sites .Select(e => new ActivitySite(e)) .ToList(); HasObservations = entity.observations?.Any() ?? false; OtherIndicators = UserAssignedObjects.GetIndicators(entity.aim.indicators, CurrentUser) .Where(e => e.indicator_id != IndicatorId) .Select(e => new Indicator(e, false, true)) .ToList(); } }