public StartEventConverter GetStartEventConverter(CallActivity callActivity) { var converterId = ConversionTemplates.ProcessConverterId(callActivity.CalledElement, callActivity.Id); if (processConverters.TryGetValue(converterId, out var processConverter)) { return(processConverter.GetStartEventConverter()); } //TODO throw exception return(null); }
SolidityStatement CreateActiveStatesMapping() { var mappingStatement = new SolidityMappingStatement( "string", "bool", ConversionTemplates.ActiveStatesMappingName(Id), InstanceIdentifiers.Select(i => new Property { DataType = PropertyDataType.Uint }).ToList()); return(new SolidityStatement(mappingStatement.ToString())); }
SolidityFunction CreateGetStateFunction() { var functionName = ConversionTemplates.ActiveStatesFunctionName(Id); var getStateFunction = new SolidityFunction(functionName, SolidityVisibility.Public, "bool", true); getStateFunction.AddToBody(new SolidityStatement($"return " + $"{ConversionTemplates.ActiveStateAssignment(ConverterConfig.STATE_PARAMETER_NAME, Id, InstanceIdentifiers, true)}")); //Add the potential process identifiers getStateFunction.AddParameters(GetIdentifiersAsParameters()); getStateFunction.AddParameter(new SolidityParameter("string", ConverterConfig.STATE_PARAMETER_NAME)); return(getStateFunction); }
public SolidityStatement ConvertProperty(Property property) { SolidityStatement propertyStatement = new SolidityStatement(); string propertyType = Helpers.PropertyTypeToString(property, contractConverter); var propertyName = Helpers.ToLowerCamelCase(property.Name); if (property.PropertyType == PropertyType.Single || property.PropertyType == PropertyType.Collection) { propertyStatement.Add($"{propertyType} {propertyName}"); } else if (property.PropertyType == PropertyType.Dictionary) { var keyType = Helpers.PrimitivePropertyTypeToString(property.KeyDataType); propertyStatement.Add(ConversionTemplates.MappingTypeVariableDefinition(propertyName, keyType, propertyType)); //Also an an array to store the key values (used when iteration through the mapping is required) propertyStatement.Add($"{keyType}[] {ConversionTemplates.MappingKeysArrayName(propertyName)}"); } return(propertyStatement); //TODO: exception propertytype not defined }
public SolidityStatement GetChangeActiveStateStatement(bool active) { var activeStateAssignment = ConversionTemplates.ActiveStateAssignment(GetElementCallName(), processConverter.Id, processConverter.InstanceIdentifiers); return(new SolidityStatement($"{activeStateAssignment} = {active.ToString().ToLower()}")); }