Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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()));
            }
        }
Ejemplo n.º 3
0
 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;
         }
     }
 }