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));
        }