void SrcParmMethod(DataContractBuilderVar parmVar) { string mName = $"parm{AxHelper.UppercaseWords(parmVar.Name)}"; CodeGenerate.SetMethodName(mName); CodeGenerate.AppendLine("["); CodeGenerate.IndentIncrease(); CodeGenerate.ProcessLastSym(","); CodeGenerate.Append($"DataMemberAttribute(identifierStr({AxHelper.UppercaseWords(parmVar.Name)}))"); if (!String.IsNullOrEmpty(parmVar.Label)) { CodeGenerate.ProcessLastSym(","); CodeGenerate.Append($"SysOperationLabelAttribute(literalstr(\"{parmVar.Label}\"))"); } if (!String.IsNullOrEmpty(parmVar.LabelHelp)) { CodeGenerate.ProcessLastSym(","); CodeGenerate.Append($"SysOperationHelpTextAttribute(literalstr(\"{parmVar.LabelHelp}\"))"); } if (!String.IsNullOrEmpty(parmVar.GroupName)) { CodeGenerate.ProcessLastSym(","); CodeGenerate.Append($"SysOperationGroupMemberAttribute('{parmVar.GroupName}')"); } if (parmVar.PositionInGroup > 0) { CodeGenerate.ProcessLastSym(","); CodeGenerate.Append($"SysOperationDisplayOrderAttribute('{parmVar.PositionInGroup.ToString()}')"); } CodeGenerate.AppendLine("").IndentDecrease(); CodeGenerate.AppendLine("]"); CodeGenerate.AppendLine($"public {parmVar.Type} {mName}({parmVar.Type} _{parmVar.Name} = {parmVar.Name})"); CodeGenerate.BeginBlock(); CodeGenerate.AppendLine($"{parmVar.Name} = _{parmVar.Name};"); CodeGenerate.AppendLine($"return {parmVar.Name};"); CodeGenerate.EndBlock(); }
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); } }