public string GetPreviewString()
        {
            StringBuilder stringBuilder = new StringBuilder();

            foreach (AxEnumValue enumValue in GetAxEnumValues())
            {
                stringBuilder.AppendLine($"Element name:{enumValue.Name}; Element label:{enumValue.Label};");
            }

            if (this.IsCreateEnumType)
            {
                stringBuilder.AppendLine($"EDT {EnumTypeName} will be created");
            }
            AxHelper axHelper = new AxHelper();
            AxEnum   newEnum  = axHelper.MetadataProvider.Enums.Read(EnumName);

            if (newEnum == null)
            {
                stringBuilder.AppendLine($"Enum {EnumName} will be created");
            }
            else
            {
                stringBuilder.AppendLine($"Existing enum {EnumName} will be updated");
            }

            return(stringBuilder.ToString());
        }
Example #2
0
        protected override void Create()
        {
            var element = new AxEnum {
                Name = ElementName
            };

            MetaService.CreateEnum(element, Model);
        }
Example #3
0
        protected string ConvertRelationFilterToString(AxEdtTableReferenceFilter referenceFilter)
        {
            string           res        = "";
            AxTable          axTableRef = _axHelper.MetadataProvider.Tables.Read(referenceFilter.Table);
            AxTableFieldEnum field      = axTableRef?.Fields[referenceFilter.RelatedField] as AxTableFieldEnum;

            if (field != null && !String.IsNullOrEmpty(field.EnumType))
            {
                AxEnum      axEnum      = _axHelper.MetadataProvider.Enums.Read(field.EnumType);
                AxEnumValue axEnumValue = axEnum?.EnumValues[referenceFilter.Value];
                if (axEnumValue != null && axEnumValue.Value == referenceFilter.Value)
                {
                    res = $"{axEnum.Name}::{axEnumValue.Name}";
                }
            }

            return(res);
        }
        public void CreateEnum()
        {
            _logString = "";
            AxHelper axHelper = new AxHelper();

            AxEnum newEnum = axHelper.MetadataProvider.Enums.Read(EnumName);

            if (newEnum == null)
            {
                newEnum = new AxEnum {
                    Name = EnumName, Label = EnumLabel, Help = EnumHelpText, UseEnumValue = NoYes.No
                };

                axHelper.MetaModelService.CreateEnum(newEnum, axHelper.ModelSaveInfo);
                axHelper.AppendToActiveProject(newEnum);

                AddLog($"Enum {newEnum.Name};");

                if (IsCreateEnumType)
                {
                    AxEdtEnum newAxEdtEnum = axHelper.MetadataProvider.Edts.Read(EnumTypeName) as AxEdtEnum;
                    if (newAxEdtEnum == null)
                    {
                        newAxEdtEnum = new AxEdtEnum {
                            Name = EnumTypeName, EnumType = newEnum.Name
                        };

                        axHelper.MetaModelService.CreateExtendedDataType(newAxEdtEnum, axHelper.ModelSaveInfo);
                        axHelper.AppendToActiveProject(newAxEdtEnum);

                        AddLog($"Enum type {newAxEdtEnum.Name};");
                    }
                }
                newEnum = axHelper.MetadataProvider.Enums.Read(EnumName);
            }

            foreach (var ea in GetAxEnumValues())
            {
                newEnum.AddEnumValue(ea);
            }
            axHelper.MetaModelService.UpdateEnum(newEnum, axHelper.ModelSaveInfo);
        }
Example #5
0
        public static void Create(UtilElementType type, string name)
        {
            if (Project == null)
            {
                throw new InvalidOperationException("No project selected.");
            }

            _name = name;
            switch (type)
            {
            case UtilElementType.DisplayTool:
                var existsDisplayTool = LocalUtils.MetaService.GetMenuItemDisplayNames().Contains(name);

                if (!existsDisplayTool)
                {
                    var displayMenu = new AxMenuItemDisplay {
                        Name = name
                    };
                    LocalUtils.MetaService.CreateMenuItemDisplay(displayMenu, Model);
                    AddAotElement <AxMenuItemDisplay>();
                }

                break;

            case UtilElementType.OutputTool:
                var existsOutputTool = LocalUtils.MetaService.GetMenuItemDisplayNames().Contains(name);

                if (!existsOutputTool)
                {
                    var outputMenu = new AxMenuItemOutput {
                        Name = name
                    };
                    LocalUtils.MetaService.CreateMenuItemOutput(outputMenu, Model);
                    AddAotElement <AxMenuItemOutput>();
                }

                break;

            case UtilElementType.ActionTool:
                var existsActionTool = LocalUtils.MetaService.GetMenuItemDisplayNames().Contains(name);

                if (!existsActionTool)
                {
                    var actionMenu = new AxMenuItemAction {
                        Name = name
                    };
                    LocalUtils.MetaService.CreateMenuItemAction(actionMenu, Model);
                    AddAotElement <AxMenuItemAction>();
                }
                break;

            case UtilElementType.Query:
                var existsQuery = LocalUtils.MetaService.GetQueryNames().Contains(name);

                if (!existsQuery)
                {
                    var query = new AxQuerySimple {
                        Name = name
                    };
                    LocalUtils.MetaService.CreateQuery(query, Model);
                    AddAotElement <AxQuerySimple>();
                }
                break;

            case UtilElementType.Enum:
                var Enum = LocalUtils.MetaService.GetEnumNames().Contains(name);

                if (!Enum)
                {
                    var edtEnum = new AxEnum {
                        Name = name
                    };
                    LocalUtils.MetaService.CreateEnum(edtEnum, Model);
                    AddAotElement <AxEnum>();
                }
                break;

            case UtilElementType.ExtendedType:



                break;

            case UtilElementType.Table:
                var existsTable = LocalUtils.MetaService.GetTableNames().Contains(name);

                if (!existsTable)
                {
                    var table = new AxTable {
                        Name = name
                    };
                    LocalUtils.MetaService.CreateTable(table, Model);
                    AddAotElement <AxTable>();
                }
                break;

            case UtilElementType.Class:
                var existsClass = LocalUtils.MetaService.GetClassNames().Contains(name);

                if (!existsClass)
                {
                    var axClass = new AxClass {
                        Name = name
                    };
                    LocalUtils.MetaService.CreateClass(axClass, Model);
                    AddAotElement <AxClass>();
                }
                break;

            case UtilElementType.SSRSReport:
                var existsSsrsReport = LocalUtils.MetaService.GetReportNames().Contains(name);

                if (!existsSsrsReport)
                {
                    var srsReport = new AxReport {
                        Name = name
                    };
                    LocalUtils.MetaService.CreateReport(srsReport, Model);
                    AddAotElement <AxReport>();
                }
                break;

            case UtilElementType.Form:
                var existsForm = LocalUtils.MetaService.GetFormNames().Contains(name);

                if (!existsForm)
                {
                    var axForm = new AxForm {
                        Name = name
                    };
                    LocalUtils.MetaService.CreateForm(axForm, Model);
                    AddAotElement <AxForm>();
                }
                break;

            case UtilElementType.Menu:
                var existsMenu = LocalUtils.MetaService.GetMenuNames().Contains(name);

                if (!existsMenu)
                {
                    var axMenu = new AxMenu {
                        Name = name
                    };
                    LocalUtils.MetaService.CreateMenu(axMenu, Model);
                    AddAotElement <AxMenu>();
                }
                break;

            case UtilElementType.SecDuty:
                var existsSecDuty = LocalUtils.MetaService.GetSecurityDutyNames().Contains(name);

                if (!existsSecDuty)
                {
                    var axDuty = new AxSecurityDuty {
                        Name = name
                    };
                    LocalUtils.MetaService.CreateSecurityDuty(axDuty, Model);
                    AddAotElement <AxSecurityDuty>();
                }
                break;

            case UtilElementType.SecPolicy:
                var existsSecPolicy = LocalUtils.MetaService.GetSecurityPolicyNames().Contains(name);

                if (!existsSecPolicy)
                {
                    var axPolicy = new AxSecurityPolicy {
                        Name = name
                    };
                    LocalUtils.MetaService.CreateSecurityPolicy(axPolicy, Model);
                    AddAotElement <AxSecurityPolicy>();
                }
                break;

            case UtilElementType.SecPrivilege:
                var existsSecPrivilege = LocalUtils.MetaService.GetSecurityPrivilegeNames().Contains(name);

                if (!existsSecPrivilege)
                {
                    var privilege = new AxSecurityPrivilege {
                        Name = name
                    };
                    LocalUtils.MetaService.CreateSecurityPrivilege(privilege, Model);
                    AddAotElement <AxSecurityPrivilege>();
                }
                break;

            case UtilElementType.SecRole:
                var existsSecRole = LocalUtils.MetaService.GetSecurityRoleNames().Contains(name);

                if (!existsSecRole)
                {
                    var role = new AxSecurityRole {
                        Name = name
                    };
                    LocalUtils.MetaService.CreateSecurityRole(role, Model);
                    AddAotElement <AxSecurityRole>();
                }
                break;

            default:
                throw new Exception("Element not supported");
            }
        }