public void ActivateCriterion(Criterion criterion) { if (MethodVMByIdDict == null) { return; } ActiveCriterion = criterion; foreach (var kvp in MethodVMByIdDict) { uint methodId = kvp.Key; MethodViewModel methodViewModel = kvp.Value; Method method = MethodModelByIdDict[methodId]; Contract.Assume(method.Id == methodViewModel.Id); IValue activeValue = method.GetValueFor(criterion); IValue maxValue = CriteriaContext.GetMaxValueFor(criterion); methodViewModel.Opacity = activeValue.ConvertToZeroOneScale(maxValue) * 0.8 + 0.1; methodViewModel.ActiveValue = activeValue; } var newSortedMethodVMs = SortedMethodVMs.OrderByDescending(mvm => mvm.ActiveValue).ToArray(); SortedMethodVMs.Clear(); foreach (var methodVM in newSortedMethodVMs) { SortedMethodVMs.Add(methodVM); } }
protected override void Initialize(System.Web.Http.Controllers.HttpControllerContext controllerContext) { base.Initialize(controllerContext); InitializeJsonFormatter(controllerContext.Configuration.Formatters.JsonFormatter); context = new CriteriaContext(); }