internal ACommand(int id, string name, TargetType target, MappingType mappingType, MappingSettings rawSettings) { RawSettings = rawSettings; Id = id; Name = name; Target = target; MappingType = mappingType; updateAssignmentOptions(); if (!AssignmentOptions.ContainsKey(Assignment)) { RawSettings.Target = AssignmentOptions.First().Key; } updateControlTypeOptions(); if (!ControlTypeOptions.ContainsKey(ControlType)) { RawSettings.ControlType = ControlTypeOptions.First().Key; } updateControlInteractionOptions(); if (!ControlInteractionOptions.ContainsKey(InteractionMode)) { RawSettings.InteractionMode = ControlInteractionOptions.First().Key; } updateControl(); }
public ConditionViewModel(IEnumerable <MappingViewModel> mappings, ConditionNumber number, ACondition condition) { _mappings = mappings; _number = number; _condition = condition; if (_condition != null) { _name = _condition.Name; // assignment var options = _condition.AssignmentOptions.Select(a => new ConditionAssignment { Target = a.Key, Description = a.Value }); _assignmentOptions = new ObservableCollection <ConditionAssignment>(options); _assignment = AssignmentOptions.SingleOrDefault(a => a.Target == _condition.Assignment); // value var enumDict = _condition.GetValueOptions(); _valueOptions = new ObservableCollection <ConditionValue>(enumDict.Select(e => new ConditionValue { Value = e.Key, Description = e.Value })); _value = ValueOptions.SingleOrDefault(v => v.Value != null && v.Value.Equals(_condition.GetValue())); } }
public void Resolve(AssignmentOptions options, Type sourceType, Type targetType) { foreach (var assignmentStrategy in resolversManager.AssignmentStrategies) { if (assignmentStrategy.CanResolve(sourceType, targetType, out var assigner)) { options.Assigner = assigner; return; } } }