private void SetControlViewWithValue(string name, TypeValue type, object defaultValue = null) { if (_currentConsantInputControl != null) { _currentConsantInputControl.ValueChanged -= ConstantControlView_ValueChanged; } ConstantInputGrid.Children.Clear(); if ((int)type == 0) { ConstantInputGrid.Children.Add(new TextBlock() { Text = "Type doesn't allow constant input" }); } else { var formModel = new GenericFormInputModel() { Description = string.Empty, Type = type, Key = name, DisplayName = string.Empty, }; if (defaultValue != null) { formModel.DefaultValue = defaultValue; } _currentConsantInputControl = new GenericInputControlView() { InputModel = formModel, }; _currentConsantInputControl.ValueChanged += ConstantControlView_ValueChanged; ConstantInputGrid.Children.Add(_currentConsantInputControl); } }
private void UpdatedInputModel(GenericFormInputModel model) { var suggestions = model.Options; if (suggestions.Length == 0 && model.SuggestionHandler != null) { suggestions = model.SuggestionHandler.GetValues(); } Suggestions = suggestions.ToList(); if (model.DefaultValue != null) { if (model.Type == ActionParameterDefinition.TypeValue.Boolean) { DefaultBoolValue = (bool)model.DefaultValue; } else if (model.Type == ActionParameterDefinition.TypeValue.Decimal) { DefaultDecimalValue = (decimal)model.DefaultValue; } else if (model.Type == ActionParameterDefinition.TypeValue.Integer) { DefaultIntValue = (int)model.DefaultValue; } else if (model.Type == ActionParameterDefinition.TypeValue.Password) { DefaultPasswordValue = (string)model.DefaultValue; } else if (model.Type == ActionParameterDefinition.TypeValue.String) { DefaultStringValue = (string)model.DefaultValue; } } }
private void UpdatedInputModel(GenericFormInputModel inputModel) { if (inputModel.Type == GenericFormInputModel.TypeValue.EntityReference) { EntityReferences = inputModel.EntityReferenceSuggestionHandler.GetFirstPageValues().ToList(); } SetInitialValue(); }
public void RaiseValueChangedEvent(GenericFormInputModel model, object data) { RoutedEventArgs args = new ValueChangedEventArgs() { Data = data, Model = model, }; args.RoutedEvent = ValueChangedEvent; RaiseEvent(args); }
private void SetModel() { if (Entity != null && GenericManager != null) { GenericFormModel model = new GenericFormModel(string.Empty); foreach (var item in Entity.Attributes) { var type = GetTypeFromAttribute(item); var defaultValue = InitialValues != null && InitialValues.ContainsKey(item.LogicalName) ? InitialValues[item.LogicalName] : null; var attribute = new GenericFormInputModel() { Key = item.LogicalName, DisplayName = item.DisplayName, Description = item.Description, IsMandatory = item.IsMandatory, DefaultValue = defaultValue, Type = type, }; if (type == GenericFormInputModel.TypeValue.EntityReference) { var relatedEntity = Relationships.First(k => k.RelatedEntity == Entity.LogicalName && k.RelatedAttribute == attribute.Key); attribute.EntityReferenceSuggestionHandler = new EntityReferenceHandler(relatedEntity.MainEntity, GenericManager.RetrieveAllHandler, GenericManager.RetrieveHandler); } else if (type == GenericFormInputModel.TypeValue.OptionSet) { attribute.OptionSetValueOptions = item.Options.Select(k => new DD.Lab.Wpf.Models.Inputs.OptionSetValue() { DisplayName = k.DisplayName, Value = k.Value }).ToArray(); } else if (type == GenericFormInputModel.TypeValue.State) { var options = new List <DD.Lab.Wpf.Models.Inputs.OptionSetValue>(); options.Add(new DD.Lab.Wpf.Models.Inputs.OptionSetValue() { DisplayName = "Enabled", Value = 1 }); options.Add(new DD.Lab.Wpf.Models.Inputs.OptionSetValue() { DisplayName = "Disabled", Value = 0 }); attribute.OptionSetValueOptions = options.ToArray(); } model.Attributes.Add(attribute); } FormModel = model; } }
private void SetStringSuggestions(GenericFormInputModel model) { var suggestions = new string[] { }; if (model.StringSuggestionOptions != null) { suggestions = model.StringSuggestionOptions; } if (suggestions.Length == 0 && model.SuggestionHandler != null) { suggestions = model.SuggestionHandler.GetValues(); } Suggestions = suggestions.ToList(); }
private void SetInputModel(GenericFormInputModel data) { _viewModel.InputModel = data; }
public static GenericFormModel ToGenericInputModel(this MethodParameterViewModel parameter, string formDescription, OptionSetValue[] options) { var model = new GenericFormModel(formDescription); model.AddAttribute( GenericFormInputModel.TypeValue.String, nameof(MethodParameterViewModel.Name), nameof(MethodParameterViewModel.Name), nameof(MethodParameterViewModel.Name), true, parameter.Name); var directionAttr = new GenericFormInputModel() { DisplayName = nameof(MethodParameterViewModel.Direction), Key = nameof(MethodParameterViewModel.Direction), Description = nameof(MethodParameterViewModel.Direction), IsMandatory = true, Type = GenericFormInputModel.TypeValue.OptionSet, OptionSetValueOptions = new List <OptionSetValue>() { { new OptionSetValue(MethodParameter.ParameterDirection.Input.ToString(), (int)MethodParameter.ParameterDirection.Input) }, { new OptionSetValue(MethodParameter.ParameterDirection.Output.ToString(), (int)MethodParameter.ParameterDirection.Output) } }.ToArray(), DefaultValue = ((int)parameter.Direction) > 0 ? new OptionSetValue((int)parameter.Direction) : null }; var typeAttr = new GenericFormInputModel() { DisplayName = nameof(MethodParameterViewModel.Type), Key = nameof(MethodParameterViewModel.Type), Description = nameof(MethodParameterViewModel.Type), IsMandatory = true, Type = GenericFormInputModel.TypeValue.OptionSet, OptionSetValueOptions = options, DefaultValue = ((int)parameter.Type) > 0 ? new OptionSetValue((int)parameter.Type) : null }; var enumAttr = new GenericFormInputModel() { DisplayName = nameof(MethodParameterViewModel.EnumerableType), Key = nameof(MethodParameterViewModel.EnumerableType), Description = nameof(MethodParameterViewModel.EnumerableType), IsMandatory = false, Type = GenericFormInputModel.TypeValue.OptionSet, OptionSetValueOptions = options, DefaultValue = ((int)parameter.EnumerableType) > 0 ? new OptionSetValue((int)parameter.EnumerableType) : null }; var dicKeyAttr = new GenericFormInputModel() { DisplayName = nameof(MethodParameterViewModel.DictionaryKeyType), Key = nameof(MethodParameterViewModel.DictionaryKeyType), Description = nameof(MethodParameterViewModel.DictionaryKeyType), IsMandatory = false, Type = GenericFormInputModel.TypeValue.OptionSet, OptionSetValueOptions = options, DefaultValue = ((int)parameter.DictionaryKeyType) > 0 ? new OptionSetValue((int)parameter.DictionaryKeyType) : null }; var dicValueAttr = new GenericFormInputModel() { DisplayName = nameof(MethodParameterViewModel.DictionaryValueType), Key = nameof(MethodParameterViewModel.DictionaryValueType), Description = nameof(MethodParameterViewModel.DictionaryValueType), IsMandatory = false, Type = GenericFormInputModel.TypeValue.OptionSet, OptionSetValueOptions = options, DefaultValue = ((int)parameter.DictionaryValueType) > 0 ? new OptionSetValue((int)parameter.DictionaryValueType) : null }; model.Attributes.Add(directionAttr); model.Attributes.Add(typeAttr); model.Attributes.Add(enumAttr); model.Attributes.Add(dicKeyAttr); model.Attributes.Add(dicValueAttr); return(model); }
private void UpdatedInputModel(GenericFormInputModel model) { if (model.DefaultValue != null) { if (model.Type == GenericFormInputModel.TypeValue.Bool) { DefaultBoolValue = (bool)model.DefaultValue; } else if (model.Type == GenericFormInputModel.TypeValue.Decimal) { decimal decimalValue; if (model.DefaultValue is double) { decimalValue = Convert.ToDecimal(model.DefaultValue); } else { decimalValue = (decimal)model.DefaultValue; } DefaultDecimalValue = decimalValue; } else if (model.Type == GenericFormInputModel.TypeValue.Double) { DefaultDoubleValue = (double)model.DefaultValue; } else if (model.Type == GenericFormInputModel.TypeValue.Int) { int valueInt = model.DefaultValue is Int64 ? Convert.ToInt32(model.DefaultValue) : (int)model.DefaultValue; DefaultIntValue = valueInt; } else if (model.Type == GenericFormInputModel.TypeValue.Password) { DefaultPasswordValue = (string)model.DefaultValue; } else if (model.Type == GenericFormInputModel.TypeValue.String) { DefaultStringValue = (string)model.DefaultValue; } else if (model.Type == GenericFormInputModel.TypeValue.MultilineString) { DefaultStringValue = (string)model.DefaultValue; } else if (model.Type == GenericFormInputModel.TypeValue.Guid) { DefaultStringValue = model.DefaultValue.ToString(); } else if (model.Type == GenericFormInputModel.TypeValue.DateTime) { DefaultDateTimeValue = (DateTime)model.DefaultValue; } else if (model.Type == GenericFormInputModel.TypeValue.EntityReference) { DefaultEntityReferenceValue = (EntityReferenceValue)model.DefaultValue; } else if (model.Type == GenericFormInputModel.TypeValue.OptionSet) { DefaultOptionSetValue = (OptionSetValue)model.DefaultValue; } else if (model.Type == GenericFormInputModel.TypeValue.State) { DefaultOptionSetValue = (OptionSetValue)model.DefaultValue; } else { throw new NotImplementedException(); } } if (model.Type == GenericFormInputModel.TypeValue.OptionSet || model.Type == GenericFormInputModel.TypeValue.State) { SetOptionSetSuggestions(model); } _view.ClearControl(); if (model.Type == GenericFormInputModel.TypeValue.String) { if (model.IsCustomModule) { _view.AddCustomModuleControl(WpfEventManager, DefaultStringValue, model.CustomModuleName); } else { _view.AddStringControl(WpfEventManager, DefaultStringValue, Suggestions); } } else if (model.Type == GenericFormInputModel.TypeValue.Bool) { _view.AddBooleanControl(WpfEventManager, DefaultBoolValue); } else if (model.Type == GenericFormInputModel.TypeValue.Decimal) { _view.AddDecimalControl(WpfEventManager, DefaultDecimalValue); } else if (model.Type == GenericFormInputModel.TypeValue.Double) { _view.AddDoubleControl(WpfEventManager, DefaultDoubleValue); } else if (model.Type == GenericFormInputModel.TypeValue.Int) { _view.AddIntegerControl(WpfEventManager, DefaultIntValue); } else if (model.Type == GenericFormInputModel.TypeValue.Password) { _view.AddPasswordControl(WpfEventManager); } else if (model.Type == GenericFormInputModel.TypeValue.MultilineString) { _view.AddMultilineStringControl(WpfEventManager, DefaultStringValue); } else if (model.Type == GenericFormInputModel.TypeValue.Guid) { _view.AddGuidControl(WpfEventManager, DefaultStringValue); } else if (model.Type == GenericFormInputModel.TypeValue.DateTime) { _view.AddDateTimeControl(WpfEventManager, DefaultDateTimeValue); } else if (model.Type == GenericFormInputModel.TypeValue.EntityReference) { _view.AddEntityReferenceControl(WpfEventManager, DefaultEntityReferenceValue); } else if (model.Type == GenericFormInputModel.TypeValue.OptionSet) { _view.AddOptionSetControl(WpfEventManager, DefaultOptionSetValue, OptionSetOptions); } else if (model.Type == GenericFormInputModel.TypeValue.State) { _view.AddOptionSetControl(WpfEventManager, DefaultOptionSetValue, OptionSetOptions); } else { throw new NotImplementedException(); } }
private void SetOptionSetSuggestions(GenericFormInputModel model) { OptionSetOptions = model.OptionSetValueOptions.ToList(); }