public override void InitFromSnippetsParms(SnippetsParms snippetsParms) { ClassName = snippetsParms.GetParmStr(ClassNameParm); ClassDescription = snippetsParms.GetParmStr(DescriptionParmName); QueryTable = snippetsParms.GetParmStr(QueryTableParmName); ExternalTable = snippetsParms.GetParmStr(ExternalTableNameParmName); IsAddFileUpload = snippetsParms.GetParmBool(AddFileUploadParmName); IsCreateMenuItem = snippetsParms.GetParmBool(CreateMenuItemParmName); if (ExternalTable != "") { ExternalTableVar = new RunBaseBuilderVar(); ExternalTableVar.Type = ExternalTable; ExternalTableVar.Name = $"caller{ExternalTable}"; } List <List <string> > parmList = snippetsParms.GetParmListSeparated(ParametersParmName); FieldsList = new List <RunBaseBuilderVar>(); foreach (List <string> subList in parmList) { RunBaseBuilderVar runBaseBuilderVars = new RunBaseBuilderVar(); string item = subList[0]; if (item[item.Length - 1] == MandatoryPropertySym)//check mandatory { runBaseBuilderVars.IsMandatory = true; runBaseBuilderVars.Type = item.Remove(item.Length - 1).Trim(); } else { runBaseBuilderVars.IsMandatory = false; runBaseBuilderVars.Type = item; } if (String.IsNullOrEmpty(runBaseBuilderVars.Type)) { throw new Exception("Type should be specified"); } if (subList.Count > 1 && !String.IsNullOrWhiteSpace(subList[1])) //check var name { runBaseBuilderVars.Name = subList[1]; } else { runBaseBuilderVars.Name = AxHelper.GetVarNameFromType(runBaseBuilderVars.Type); } if (subList.Count > 2 && !String.IsNullOrWhiteSpace(subList[2])) { runBaseBuilderVars.Label = subList[2]; } if (subList.Count > 3 && !String.IsNullOrWhiteSpace(subList[3])) { runBaseBuilderVars.LabelHelp = subList[3]; } runBaseBuilderVars.DlgName = $"dlg{AxHelper.UppercaseWords(runBaseBuilderVars.Name)}"; FieldsList.Add(runBaseBuilderVars); } }
public override void OnClick(AddinDesignerEventArgs e) { try { SnippetsParms snippetsParms = new SnippetsParms(); TableRelationToXppParms relationToXppParms = new TableRelationToXppParms(); Relation relation = null; if (e.SelectedElement != null) { relation = e.SelectedElement as Relation; } if (relation == null) { throw new System.Exception("Relation should be selected"); } relationToXppParms.InitFromRelation(relation); relationToXppParms.InitDialogParms(snippetsParms); SnippetsDialog dialog = new SnippetsDialog(); dialog.SetParameters(snippetsParms); dialog.Show(); dialog.ShowResultButton_Click(null, null); } catch (System.Exception ex) { CoreUtility.HandleExceptionWithErrorMessage(ex); } }
public void InitDialogParms(SnippetsParms snippetsParms) { snippetsParms.SnippetName = "Table relation to Xpp code"; snippetsParms.AddParametersValue(Table1VarParm, Table1Var); snippetsParms.AddParametersValue(Table2VarParm, Table2Var); snippetsParms.AddParametersValue(IsUseQueryParm, ""); snippetsParms.Description = "Util converts table relation to X++ code"; snippetsParms.PreviewAction = this; }
private static void TestRunBaseBuilder() { SnippetsParms snippetsParms = new SnippetsParms(); RunBaseBuilder runBaseBuilder = new RunBaseBuilder(); runBaseBuilder.InitDialogParms(snippetsParms); SnippetsDialog dialog = new SnippetsDialog(); dialog.SetParameters(snippetsParms); Application.Run(dialog); }
public override void OnClick(AddinEventArgs e) { try { SnippetsParms snippetsParms = new SnippetsParms(); RunBaseBuilder runBaseBuilder = new RunBaseBuilder(); runBaseBuilder.InitDialogParms(snippetsParms); SnippetsDialog dialog = new SnippetsDialog(); dialog.SetParameters(snippetsParms); dialog.Show(); } catch (Exception ex) { CoreUtility.HandleExceptionWithErrorMessage(ex); } }
public void InitDialogParms(SnippetsParms snippetsParms) { snippetsParms.SnippetName = "Create DataContract class"; snippetsParms.AddParametersValue(ClassNameParm, "AATestDataContract"); snippetsParms.AddParametersValue(ParametersParmName, $"CustAccount" + MandatoryPropertySym + Environment.NewLine + $"NoYesId {snippetsParms.ValuesSeparator} useCurrentDate {snippetsParms.ValuesSeparator} Use current date {snippetsParms.ValuesSeparator} Help text" + Environment.NewLine + $"FromDate {snippetsParms.ValuesSeparator} fromDate {snippetsParms.ValuesSeparator} From date label {snippetsParms.ValuesSeparator} Help text { snippetsParms.ValuesSeparator} GroupId { snippetsParms.ValuesSeparator} Group label"); snippetsParms.Description = "Util creates a DataContract type class. You can specify multiple parameters - each as a separate line in the following format:" + Environment.NewLine + "EDTType | Variable name | " + "Label | Help text | GroupId | Group label" + Environment.NewLine + "You can specify only EDTType. For the Mandatory property add * to the EDTType"; snippetsParms.IsFieldsSeparatorVisible = true; snippetsParms.IsCreateButtonVisible = true; snippetsParms.CreateAction = this; snippetsParms.PreviewAction = this; }
public void InitDialogParms(SnippetsParms snippetsParms) { snippetsParms.SnippetName = "Create RunBase class"; snippetsParms.AddParametersValue(ClassNameParm, "AATestRunBase"); snippetsParms.AddParametersValue(DescriptionParmName, "Class description"); snippetsParms.AddParametersValue(QueryTableParmName, "CustTable"); snippetsParms.AddParametersValue(ExternalTableNameParmName, ""); snippetsParms.AddParametersValue(AddFileUploadParmName, ""); snippetsParms.AddParametersValue(CreateMenuItemParmName, ""); snippetsParms.AddParametersValue(ParametersParmName, $"CustAccount" + MandatoryPropertySym + Environment.NewLine + $"NoYesId {snippetsParms.ValuesSeparator} useCurrentDate {snippetsParms.ValuesSeparator} Use current date {snippetsParms.ValuesSeparator} Help text"); snippetsParms.Description = "Util creates a RunBase type class. You can specify multiple parameters - each as a separate line in the following format EDTType | Variable name | " + "Label | Help text. You can specify only EDTType. For the Mandatory property add * to the EDTType"; snippetsParms.IsFieldsSeparatorVisible = true; snippetsParms.IsCreateButtonVisible = true; snippetsParms.CreateAction = this; snippetsParms.PreviewAction = this; }
public override void InitFromSnippetsParms(SnippetsParms snippetsParms) { ClassName = snippetsParms.GetParmStr(ClassNameParm); GenerateReportController = snippetsParms.GetParmBool(GenerateReportControllerParm); GenerateReportDP = snippetsParms.GetParmBool(GenerateReportDPParm); ReportDPTableName = snippetsParms.GetParmStr(ReportDPTableNameParm); if (String.IsNullOrWhiteSpace(ReportDPTableName)) { ReportDPTableName = "TableTemDB"; } ReportDPTableVarName = AxHelper.GetVarNameFromType(ReportDPTableName); string baseStr = ClassName; if (ClassName.ToLower().EndsWith("contract")) { baseStr = ClassName.Substring(0, ClassName.Length - "contract".Length); } ClassNameDP = $"{baseStr}DP"; ClassNameController = $"{baseStr}Controller"; List <List <string> > parmList = snippetsParms.GetParmListSeparated(ParametersParmName); FieldsList = new List <DataContractBuilderVar>(); GroupsList = new List <DataContractBuilderVar>(); int groupNum = 0; IsAnyMandatory = false; Dictionary <string, int> groutPosDict = new Dictionary <string, int>(); foreach (List <string> subList in parmList) { DataContractBuilderVar builderVar = new DataContractBuilderVar(); string item = subList[0]; if (item[item.Length - 1] == MandatoryPropertySym)//check mandatory { builderVar.IsMandatory = true; builderVar.Type = item.Remove(item.Length - 1).Trim(); } else { builderVar.IsMandatory = false; builderVar.Type = item; } if (String.IsNullOrEmpty(builderVar.Type)) { throw new Exception("Type should be specified"); } if (subList.Count > 1 && !String.IsNullOrWhiteSpace(subList[1])) //check var name { builderVar.Name = subList[1]; } else { builderVar.Name = AxHelper.GetVarNameFromType(builderVar.Type); } if (subList.Count > 2 && !String.IsNullOrWhiteSpace(subList[2])) { builderVar.Label = subList[2]; } if (subList.Count > 3 && !String.IsNullOrWhiteSpace(subList[3])) { builderVar.LabelHelp = subList[3]; } if (subList.Count > 4 && !String.IsNullOrWhiteSpace(subList[4])) { builderVar.GroupName = subList[4]; } if (subList.Count > 5 && !String.IsNullOrWhiteSpace(subList[5])) { builderVar.GroupLabel = subList[5]; } //calculate if (!groutPosDict.ContainsKey(builderVar.GroupName)) { groutPosDict.Add(builderVar.GroupName, 0); if (!String.IsNullOrWhiteSpace(builderVar.GroupName)) { groupNum++; var varGr = new DataContractBuilderVar { GroupName = builderVar.GroupName, GroupLabel = builderVar.GroupLabel, PositionInGroup = groupNum }; GroupsList.Add(varGr); } } groutPosDict[builderVar.GroupName]++; if (builderVar.IsMandatory) { IsAnyMandatory = true; } builderVar.PositionInGroup = groutPosDict[builderVar.GroupName]; FieldsList.Add(builderVar); } }
public void InitFromSnippetsParms(SnippetsParms snippetsParms) { Table1Var = snippetsParms.GetParmStr(Table1VarParm); Table2Var = snippetsParms.GetParmStr(Table2VarParm); IsUseQuery = snippetsParms.GetParmBool(IsUseQueryParm); }