private async Task AbiCodeGenerateCallBack(string contractName, string abi, string contractByteCode) { var serviceNamespace = contractName; var codeGenLanguage = CodeGenLanguage.CSharp; if (CodeLanguage == CodeLanguage.VbNet) { codeGenLanguage = CodeGenLanguage.Vb; } var contractAbi = new Nethereum.Generators.Net.GeneratorModelABIDeserialiser().DeserialiseABI(abi); var generator = new ContractProjectGenerator(contractAbi, contractName, contractByteCode, serviceNamespace, serviceNamespace, serviceNamespace, serviceNamespace, "", "/", codeGenLanguage); generator.AddRootNamespaceOnVbProjectsToImportStatements = false; var generators = new List <IClassGenerator>(); generators.Add(new ConsoleGenerator(contractAbi, contractName, contractByteCode, serviceNamespace, serviceNamespace, serviceNamespace, codeGenLanguage)); generators.Add(generator.GetCQSMessageDeploymentGenerator()); generators.AddRange(generator.GetAllCQSFunctionMessageGenerators()); generators.AddRange(generator.GetllEventDTOGenerators()); generators.AddRange(generator.GetAllFunctionDTOsGenerators()); generators.AddRange(generator.GetAllStructTypeGenerators()); var mainGenerator = new AllMessagesGenerator(generators, contractName, serviceNamespace, codeGenLanguage); var content = mainGenerator.GenerateFileContent(); editorModel.Script = content; await Interop.EditorSetAsync(JSRuntime, editorModel); await AddNewCodeSample(content, contractName); ModalServices.Close(); }
public GeneratedFile GenerateAllMessages() { var cqsFullNamespace = GetFullNamespace(CQSNamespace); var cqsFullPath = GetFullPath(CQSNamespace);; var generators = new List <IClassGenerator>(); generators.Add(GetCQSMessageDeploymentGenerator()); generators.AddRange(GetAllCQSFunctionMessageGenerators()); generators.AddRange(GetllEventDTOGenerators()); generators.AddRange(GetAllFunctionDTOsGenerators()); //using the same namespace.. var mainGenerator = new AllMessagesGenerator(generators, ContractName, cqsFullNamespace, CodeGenLanguage); return(mainGenerator.GenerateFileContent(cqsFullPath)); }