예제 #1
0
        private void GenerateEntityQueryMethodReturn(DomainOperationEntry domainOperationEntry, string parameterDictionaryName)
        {
            QueryAttribute queryAttribute = (QueryAttribute)domainOperationEntry.OperationAttribute;


            this.Write("return base.CreateQuery<");

            this.Write(this.ToStringHelper.ToStringWithCulture(this.GetEntityQueryMethodElementReturnTypeName(domainOperationEntry)));

            this.Write(">(\"");

            this.Write(this.ToStringHelper.ToStringWithCulture(domainOperationEntry.Name));

            this.Write("\", ");

            this.Write(this.ToStringHelper.ToStringWithCulture(parameterDictionaryName));

            this.Write(", ");

            this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenUtilities.GetBooleanString(queryAttribute.HasSideEffects, true)));

            this.Write(", ");

            this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenUtilities.GetBooleanString(queryAttribute.IsComposable, true)));

            this.Write(");\r\n");
        }
예제 #2
0
        private void GenerateInvokeMethodReturn(DomainOperationEntry domainOperationEntry, string parameterDictionaryString, InvokeKind invokeKind)
        {
            InvokeAttribute invokeAttribute      = (InvokeAttribute)domainOperationEntry.OperationAttribute;
            string          returnTypeNameString = CodeGenUtilities.GetTypeName(CodeGenUtilities.TranslateType(domainOperationEntry.ReturnType));

            if (invokeKind == InvokeKind.Async)
            {
                returnTypeNameString = (domainOperationEntry.ReturnType == typeof(void)) ? string.Empty : string.Format("<{0}>", returnTypeNameString);

                this.Write("return this.InvokeOperationAsync");

                this.Write(this.ToStringHelper.ToStringWithCulture(returnTypeNameString));

                this.Write("(\"");

                this.Write(this.ToStringHelper.ToStringWithCulture(domainOperationEntry.Name));

                this.Write("\", ");

                this.Write(this.ToStringHelper.ToStringWithCulture(parameterDictionaryString));

                this.Write(", \r\n");

                this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenUtilities.GetBooleanString(invokeAttribute.HasSideEffects, true)));

                this.Write(", cancellationToken);\r\n");
            }
            else
            {
                this.Write("return this.");

                this.Write(this.ToStringHelper.ToStringWithCulture(this.GetInvokeMethodReturnTypeName(domainOperationEntry, invokeKind)));

                this.Write("(\"");

                this.Write(this.ToStringHelper.ToStringWithCulture(domainOperationEntry.Name));

                this.Write("\", typeof(");

                this.Write(this.ToStringHelper.ToStringWithCulture(returnTypeNameString));

                this.Write("), ");

                this.Write(this.ToStringHelper.ToStringWithCulture(parameterDictionaryString));

                this.Write(", \r\n");

                this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenUtilities.GetBooleanString(invokeAttribute.HasSideEffects, true)));

                this.Write(",\r\n");


                if (invokeKind == InvokeKind.WithCallback)
                {
                    this.Write("callback, userState);\r\n");
                }
                else
                {
                    this.Write("null, null);\r\n");
                }
            }
        }