protected void addSpecificPropertiesToEdt(Metadata.MetaModel.AxEdt edt) { FieldType fieldType; if (!edtExist) { Enum.TryParse <FieldType>(this.controller.comboBoxFieldType.SelectedValue.ToString(), out fieldType); switch (fieldType) { case FieldType.String: Metadata.MetaModel.AxEdtString edtString = edt as Metadata.MetaModel.AxEdtString; edtString.StringSize = (int)this.controller.numericUpDownStringSize.Value; break; case FieldType.Enum: Metadata.MetaModel.AxEdtEnum edtEnum = edt as Metadata.MetaModel.AxEdtEnum; edtEnum.EnumType = this.controller.comboBoxFieldType.Text; break; case FieldType.Memo: edt.Extends = "FreTxt"; break; default: break; } } }
public void edtNameChanged(object sender, EventArgs e) { FieldType fieldType; Enum.TryParse <FieldType>(this.comboBoxFieldType.SelectedValue.ToString(), out fieldType); if (this.textBoxEDTName.Text != string.Empty) { Metadata.MetaModel.AxEdt edt = this.MetadataProvider.Edts.Read(this.textBoxEDTName.Text); if (edt == null) { this.textBoxHelpText.Text = string.Empty; this.textBoxLabel.Text = string.Empty; this.textBoxExtends.Enabled = true; } else { this.textBoxExtends.Enabled = false; this.textBoxExtends.Text = string.Empty; this.numericUpDownStringSize.Enabled = false; this.numericUpDownStringSize.Value = 0; this.toolTipEdtName.SetToolTip(this.textBoxEDTName, "This EDT already exists. Label and help text will be set to new field."); } } }
protected void addGeneralPropertiesToEdt(Metadata.MetaModel.AxEdt edt) { if (!edtExist) { edt.Name = this.controller.textBoxEDTName.Text; edt.Label = this.controller.textBoxLabel.Text; edt.HelpText = this.controller.textBoxHelpText.Text; } }
public void fieldTypeChanged(object sender, EventArgs e) { ComboBox curCombobox = sender as ComboBox; FieldType fieldType; Metadata.MetaModel.AxEdt edt = null; this.comboBoxExtends.SelectedIndex = -1; Enum.TryParse <FieldType>(curCombobox.SelectedItem.ToString(), out fieldType); if (this.comboBoxEDTName.SelectedIndex == -1) { if (this.comboBoxEDTName.Text != string.Empty) { edt = this.MetadataProvider.Edts.Read(this.comboBoxEDTName.Text); } } else { edt = this.MetadataProvider.Edts.Read(this.comboBoxEDTName.SelectedItem.ToString()); } }
protected void CreateEDT(IBaseField baseField) { if (String.IsNullOrEmpty(baseField.ExtendedDataType) == false) { // There is already a EDT defined for this field return; } // The Name of the edt to create should have the prefix as per the Settings // If the Prefix already exists on the var modelSettings = Settings.FetchSettings.FindOrCreateSettings(); var edtName = baseField.Name; if (String.IsNullOrEmpty(modelSettings.Prefix) == false && edtName.StartsWith(modelSettings.Prefix, StringComparison.InvariantCultureIgnoreCase) == false) { edtName = modelSettings.Prefix + edtName; } Microsoft.Dynamics.AX.Metadata.MetaModel.AxEdt edtToCreate = null; if (baseField is IFieldContainer) { //var currentField = baseField as IFieldContainer; edtToCreate = new Microsoft.Dynamics.AX.Metadata.MetaModel.AxEdtContainer(); } else if (baseField is IFieldDate) { edtToCreate = new Microsoft.Dynamics.AX.Metadata.MetaModel.AxEdtDate(); } else if (baseField is IFieldEnum) { edtToCreate = new Microsoft.Dynamics.AX.Metadata.MetaModel.AxEdtEnum(); } else if (baseField is IFieldGuid) { edtToCreate = new Microsoft.Dynamics.AX.Metadata.MetaModel.AxEdtGuid(); } else if (baseField is IFieldInt) { edtToCreate = new Microsoft.Dynamics.AX.Metadata.MetaModel.AxEdtInt(); } else if (baseField is IFieldReal) { edtToCreate = new Microsoft.Dynamics.AX.Metadata.MetaModel.AxEdtReal(); } else if (baseField is IFieldString) { edtToCreate = new Microsoft.Dynamics.AX.Metadata.MetaModel.AxEdtString(); } else if (baseField is IFieldTime) { edtToCreate = new Microsoft.Dynamics.AX.Metadata.MetaModel.AxEdtTime(); } else if (baseField is IFieldUtcDateTime) { edtToCreate = new Microsoft.Dynamics.AX.Metadata.MetaModel.AxEdtUtcDateTime(); } this.copyProperties(baseField, edtToCreate); edtToCreate.Name = edtName; if (edtToCreate != null) { // Find current model var modelSaveInfo = Common.CommonUtil.GetCurrentModelSaveInfo(); //Create menu item in the right model var metaModelProviders = ServiceLocator.GetService <IMetaModelProviders>() as IMetaModelProviders; var metaModelService = metaModelProviders.CurrentMetaModelService; metaModelService.CreateExtendedDataType(edtToCreate, modelSaveInfo); //Update the table field with the EDT, also remove any labels from the field baseField.ExtendedDataType = edtToCreate.Name; baseField.Label = String.Empty; baseField.HelpText = String.Empty; // Add to the current active project Common.CommonUtil.AddElementToProject(edtToCreate); } }
public void fieldTypeSelectedIndexChanged(object sender, EventArgs e) { FieldType fieldType; Metadata.MetaModel.AxEdt edt = null; bool enumTypeEnabled = false; bool stringSizeEnabled = false; Enum.TryParse <FieldType>(this.comboBoxFieldType.SelectedValue.ToString(), out fieldType); if (this.textBoxEDTName.Text != string.Empty) { edt = this.MetadataProvider.Edts.Read(this.textBoxEDTName.Text); } switch (fieldType) { case FieldType.String: if (this.textBoxEDTName.Text == string.Empty) { stringSizeEnabled = true; } else { if (edt == null) { stringSizeEnabled = true; } else { stringSizeEnabled = false; } } break; case FieldType.Enum: if (this.textBoxEDTName.Text == string.Empty) { enumTypeEnabled = true; } else { if (edt == null) { enumTypeEnabled = true; } else { enumTypeEnabled = false; } } break; default: stringSizeEnabled = false; enumTypeEnabled = false; break; } numericUpDownStringSize.Enabled = stringSizeEnabled; textBoxEnumType.Enabled = enumTypeEnabled; }