public static string CreateDutyExtension(ISecurityDuty duty) { var existingSecDutyExt = SecurityDuty.SecurityDutyHelper.GetExtensionObject(duty); if (existingSecDutyExt != null) { // We already have an exisisting security duty extension, so just add this to the project // Add this to the project Common.CommonUtil.AddElementToProject(existingSecDutyExt); return(existingSecDutyExt.Name); } var securityDutyExtensionName = Common.CommonUtil.GetNextNameSecurityDutyExtension(duty.Name); var extSecDuty = new AxSecurityDutyExtension() { Name = securityDutyExtensionName }; // var secDuty = new AxSecurityDuty() { Name = securityDutyExtensionName }; //var ex = new AxSecurityDutyExtension() { Name = securityDutyExtensionName }; //create security duty extension Common.CommonUtil.GetMetaModelProviders() .CurrentMetadataProvider .SecurityDutyExtensions .Create(extSecDuty, Common.CommonUtil.GetCurrentModelSaveInfo()); // Add this to the project Common.CommonUtil.AddElementToProject(extSecDuty); return(securityDutyExtensionName); }
public static AxSecurityDutyExtension GetExtensionObject(ISecurityDuty securityDuty) { // Find current model var modelSaveInfo = Common.CommonUtil.GetCurrentModelSaveInfo(); var metaModelService = Common.CommonUtil.GetModelSaveService(); var securityDutyExtension = metaModelService.GetSecurityDutyExtensionNames().ToList() .Where(extName => extName.StartsWith(securityDuty.Name, StringComparison.InvariantCultureIgnoreCase)) .FirstOrDefault(); if (String.IsNullOrEmpty(securityDutyExtension) == false) { var extension = metaModelService.GetSecurityDutyExtension(securityDutyExtension); return(extension); } return(null); }
public static AxSecurityDutyExtension GetExtensionObject(ISecurityDuty securityDuty) { // Find current model var modelSaveInfo = Common.CommonUtil.GetCurrentModelSaveInfo(); var metaModelService = Common.CommonUtil.GetModelSaveService(); var securityDutyExtensions = metaModelService.GetSecurityDutyExtensionNames().ToList() .Where(extName => extName.StartsWith(securityDuty.Name, StringComparison.InvariantCultureIgnoreCase)) .ToList(); if (securityDutyExtensions != null) { var currentModel = Common.CommonUtil.GetCurrentModel(); foreach (var dutyExtName in securityDutyExtensions) { var dutyExtModels = metaModelService.GetSecurityDutyExtensionModelInfo(dutyExtName).ToList(); if (dutyExtModels != null) { foreach (var model in dutyExtModels) { if (model.Module.Equals(currentModel.Module, StringComparison.InvariantCultureIgnoreCase)) { return(metaModelService.GetSecurityDutyExtension(dutyExtName)); } } } } } return(null); //var securityDutyExtension = metaModelService.GetSecurityDutyExtensionNames().ToList() // .Where(extName => extName.StartsWith(securityDuty.Name, StringComparison.InvariantCultureIgnoreCase)) // .FirstOrDefault() ; //if(String.IsNullOrEmpty(securityDutyExtension) == false) //{ // var extension = metaModelService.GetSecurityDutyExtension(securityDutyExtension); // return extension; //} //return null; }
public static string CreateDutyExtension(ISecurityDuty duty) { var securityDutyExtensionName = Common.CommonUtil.GetNextNameSecurityDutyExtension(duty.Name + Common.Constants.DotEXTENSION); var extSecDuty = new AxSecurityDutyExtension() { Name = securityDutyExtensionName }; // var secDuty = new AxSecurityDuty() { Name = securityDutyExtensionName }; //var ex = new AxSecurityDutyExtension() { Name = securityDutyExtensionName }; //create security duty extension Common.CommonUtil.GetMetaModelProviders() .CurrentMetadataProvider .SecurityDutyExtensions .Create(extSecDuty, Common.CommonUtil.GetCurrentModelSaveInfo()); // Add this to the project Common.CommonUtil.AddElementToProject(extSecDuty); return(securityDutyExtensionName); }
public override void setElementType(IRootElement selectedElement) { this.iSecurityDuty = selectedElement as ISecurityDuty; }
/// <summary> /// /Handle the click event in the OnClick method. Here we will test the selected object, get the object’s model and label file, and create the label. /// </summary> /// <param name="e">The context of the VS tools and metadata</param> public override void OnClick(AddinDesignerEventArgs e) { try { // Get the metamodel service IMetaModelService metaModelService = helper.MetaModelService; // Is the selected element a table? if (e.SelectedElement is ITable) { ITable table = e.SelectedElement as ITable; helper.setModelAndLabelFile(metaModelService.GetTableModelInfo(table.Name)); labelPrefix = table.Name; } else if (e.SelectedElement is IBaseField) { IBaseField baseField = e.SelectedElement as IBaseField; var table = baseField.Table; helper.setModelAndLabelFile(metaModelService.GetTableModelInfo(table.Name)); labelPrefix = String.Format("{0}_{1}", baseField.Table.Name, baseField.Name); } if (e.SelectedElement is IView) { IView view = e.SelectedElement as IView; helper.setModelAndLabelFile(metaModelService.GetTableModelInfo(view.Name)); labelPrefix = view.Name; } else if (e.SelectedElement is IViewBaseField) { IViewBaseField baseField = e.SelectedElement as IViewBaseField; var view = baseField.View; helper.setModelAndLabelFile(metaModelService.GetViewModelInfo(view.Name)); labelPrefix = String.Format("{0}_{1}", baseField.View.Name, baseField.Name); } else if (e.SelectedElement is IFormDesign) { IFormDesign formDesign = e.SelectedElement as IFormDesign; var form = formDesign.Form; helper.setModelAndLabelFile(metaModelService.GetFormModelInfo(form.Name)); labelPrefix = formDesign.Form.Name; } else if (e.SelectedElement is IFormControl) { IFormControl formControl = e.SelectedElement as IFormControl; IRootElement rootElement = formControl.RootElement as IRootElement; if (rootElement is IFormExtension) { helper.setModelAndLabelFile(metaModelService.GetFormExtensionModelInfo(rootElement.Name)); labelPrefix = String.Format("{0}_{1}", rootElement.Name, formControl.Name); labelPrefix = labelPrefix.Replace(".","_"); } else { helper.setModelAndLabelFile(metaModelService.GetFormModelInfo(rootElement.Name)); labelPrefix = String.Format("{0}_{1}", rootElement.Name, formControl.Name); } } else if (e.SelectedElement is ISecurityPrivilege) { ISecurityPrivilege securityObject = e.SelectedElement as ISecurityPrivilege; helper.setModelAndLabelFile(metaModelService.GetSecurityPrivilegeModelInfo(securityObject.Name)); labelPrefix = String.Format("{0}_{1}", Tags.PrivilegeTag, securityObject.Name); } else if (e.SelectedElement is ISecurityDuty) { ISecurityDuty securityObject = e.SelectedElement as ISecurityDuty; helper.setModelAndLabelFile(metaModelService.GetSecurityDutyModelInfo(securityObject.Name)); labelPrefix = String.Format("{0}_{1}", Tags.DutyTag, securityObject.Name); } else if (e.SelectedElement is ISecurityRole) { ISecurityRole securityObject = e.SelectedElement as ISecurityRole; helper.setModelAndLabelFile(metaModelService.GetSecurityRoleModelInfo(securityObject.Name)); labelPrefix = String.Format("{0}_{1}", Tags.RoleTag, securityObject.Name); } else if (e.SelectedElement is IEdtBase) { IEdtBase edt = e.SelectedElement as IEdtBase; helper.setModelAndLabelFile(metaModelService.GetExtendedDataTypeModelInfo(edt.Name)); labelPrefix = String.Format("{0}_{1}", Tags.EDTTag, edt.Name); } else if (e.SelectedElement is IMenuItem) { IMenuItem AxMenuItem = e.SelectedElement as IMenuItem; labelPrefix = String.Format("{0}_{1}", Tags.MenuItemTag, AxMenuItem.Name); if (AxMenuItem is IMenuItemAction) { helper.setModelAndLabelFile(metaModelService.GetMenuItemActionModelInfo(AxMenuItem.Name)); } else if (AxMenuItem is IMenuItemDisplay) { helper.setModelAndLabelFile(metaModelService.GetMenuItemDisplayModelInfo(AxMenuItem.Name)); } else if (AxMenuItem is IMenuItemOutput) { helper.setModelAndLabelFile(metaModelService.GetMenuItemOutputModelInfo(AxMenuItem.Name)); } } else if (e.SelectedElement is IReportDataSetField) { IReportDataSetField dataField = e.SelectedElement as IReportDataSetField; helper.setModelAndLabelFile(metaModelService.GetReportModelInfo(dataField.DataSet.Report.Name)); labelPrefix = String.Format("{0}_{1}_{2}", dataField.DataSet.Report.Name, dataField.DataSet.Name, dataField.Name); } helper.createPropertyLabels(e.SelectedElement, labelPrefix); } catch (Exception ex) { Microsoft.Dynamics.Framework.Tools.MetaModel.Core.CoreUtility.HandleExceptionWithErrorMessage(ex); } }