Advertisement
Guest User

Untitled

a guest
Aug 20th, 2010
1,017
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.61 KB | None | 0 0
  1.         region.Begin("Function Imports", 1);
  2.  
  3.         foreach (EdmFunction edmFunction in container.FunctionImports)
  4.         {
  5.             IEnumerable<FunctionImportParameter> parameters = FunctionImportParameter.Create(edmFunction.Parameters, code, ef);
  6.             string paramList = String.Join(", ", parameters.Select(p => p.FunctionParameterType + " " + p.FunctionParameterName).ToArray());
  7.             if (edmFunction.ReturnParameter == null)
  8.             {
  9.                 #>             
  10.     <#=Accessibility.ForMethod(edmFunction)#> void <#=code.Escape(edmFunction)#>(<#= paramList #>)
  11.     {
  12.         <# foreach(FunctionImportParameter parameter in parameters)
  13.         {
  14.             if(!parameter.NeedsLocalVariable)
  15.                 continue;  
  16.         #>ObjectParameter <#= parameter.LocalVariableName #>;
  17.         if(<#= parameter.IsNullableOfT ? parameter.FunctionParameterName + ".HasValue)" : parameter.FunctionParameterName + " != null)" #>
  18.             <#= parameter.LocalVariableName #> = new ObjectParameter("<#= parameter.EsqlParameterName #>", <#=parameter.FunctionParameterName#>);
  19.         else
  20.             <#= parameter.LocalVariableName #> = new ObjectParameter("<#= parameter.EsqlParameterName #>", default(<#= parameter.RawClrTypeName #>));
  21.         <#
  22.         }
  23.         #>base.ExecuteFunction("<#= edmFunction.Name #>"<#= code.StringBefore(", ", string.Join(", ", parameters.Select(p => p.ExecuteParameterName).ToArray())) #>);
  24.     }
  25.             <
  26.             }
  27.             else
  28.             {
  29.             string returnTypeElement = code.Escape(ef.GetElementType(edmFunction.ReturnParameter.TypeUsage));
  30.  
  31. #>
  32.     <#=Accessibility.ForMethod(edmFunction)#> ObjectResult<<#=returnTypeElement#>> <#=code.Escape(edmFunction)#>(<#=paramList#>)
  33.     {
  34. <#
  35.             foreach (var parameter in parameters)
  36.             {
  37.                 if (!parameter.NeedsLocalVariable)
  38.                 {
  39.                     continue;
  40.                 }
  41. #>
  42.  
  43.         ObjectParameter <#=parameter.LocalVariableName#>;
  44.  
  45.         if (<#=parameter.IsNullableOfT ? parameter.FunctionParameterName + ".HasValue" : parameter.FunctionParameterName + " != null"#>)
  46.         {
  47.             <#=parameter.LocalVariableName#> = new ObjectParameter("<#=parameter.EsqlParameterName#>", <#=parameter.FunctionParameterName#>);
  48.         }
  49.         else
  50.         {
  51.             <#=parameter.LocalVariableName#> = new ObjectParameter("<#=parameter.EsqlParameterName#>", typeof(<#=parameter.RawClrTypeName#>));
  52.         }
  53. <#
  54.             }
  55. #>
  56.         return base.ExecuteFunction<<#=returnTypeElement#>>("<#=edmFunction.Name#>"<#=code.StringBefore(", ", String.Join(", ", parameters.Select(p => p.ExecuteParameterName).ToArray()))#>);
  57.     }
  58. <#        }
  59.         }
  60.  
  61.         region.End();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement