public CSharpToJavascriptConverter(ICSharpToJsCache cacher, IGlueFactory glueFactory, IWebSessionLogger logger)
 {
     _GlueFactory = glueFactory;
     _Logger      = logger;
     _Cacher      = cacher;
     _Converters  = new Dictionary <Type, Func <IGlueFactory, object, IJsCsGlue> >
     {
         [typeof(string)]   = (factory, @object) => factory.BuildString(@object),
         [typeof(bool)]     = (factory, @object) => factory.BuildBool(@object),
         [typeof(int)]      = (factory, @object) => factory.BuildInt(@object),
         [typeof(double)]   = (factory, @object) => factory.BuildDouble(@object),
         [typeof(uint)]     = (factory, @object) => factory.BuildUint(@object),
         [typeof(decimal)]  = (factory, @object) => factory.BuildDecimal(@object),
         [typeof(long)]     = (factory, @object) => factory.BuildLong(@object),
         [typeof(short)]    = (factory, @object) => factory.BuildShort(@object),
         [typeof(float)]    = (factory, @object) => factory.BuildFloat(@object),
         [typeof(ulong)]    = (factory, @object) => factory.BuildUlong(@object),
         [typeof(ushort)]   = (factory, @object) => factory.BuildUshort(@object),
         [typeof(DateTime)] = (factory, @object) => factory.BuildDateTime(@object),
         [typeof(char)]     = (factory, @object) => factory.BuildChar(@object),
     };
 }
예제 #2
0
 public CSharpToGlueMapper(ICSharpToJsCache cacher, IGlueFactory glueFactory, IWebSessionLogger logger)
 {
     _GlueFactory = glueFactory;
     _Logger      = logger;
     _Cacher      = cacher;
     _Converters  = new Dictionary <Type, Func <IGlueFactory, object, IJsCsGlue> >
     {
         [Types.String]   = (factory, @object) => factory.BuildString(@object),
         [Types.Bool]     = (factory, @object) => factory.BuildBool(@object),
         [Types.Int]      = (factory, @object) => factory.BuildInt(@object),
         [Types.Double]   = (factory, @object) => factory.BuildDouble(@object),
         [Types.Uint]     = (factory, @object) => factory.BuildUint(@object),
         [Types.Byte]     = (factory, @object) => factory.BuildByte(@object),
         [Types.SByte]    = (factory, @object) => factory.BuildSByte(@object),
         [Types.Decimal]  = (factory, @object) => factory.BuildDecimal(@object),
         [Types.Long]     = (factory, @object) => factory.BuildLong(@object),
         [Types.Short]    = (factory, @object) => factory.BuildShort(@object),
         [Types.Float]    = (factory, @object) => factory.BuildFloat(@object),
         [Types.ULong]    = (factory, @object) => factory.BuildUlong(@object),
         [Types.UShort]   = (factory, @object) => factory.BuildUshort(@object),
         [Types.DateTime] = (factory, @object) => factory.BuildDateTime(@object),
         [Types.Char]     = (factory, @object) => factory.BuildChar(@object),
     };
 }
예제 #3
0
 public GlueFactoryBase(ICSharpToJsCache cacher, ObjectChangesListener onListener)
 {
     _Cacher     = cacher;
     _OnListener = onListener;
 }
예제 #4
0
        internal static IGlueFactory GetFactory(HtmlViewContext context, ICSharpToJsCache cacher, IJavascriptToCSharpConverter converter, ObjectChangesListener onListener)
        {
            var isMapping = context.JavascriptFrameworkIsMappingObject;

            return(isMapping ? (IGlueFactory) new GlueMappingFactory(context, cacher, converter, onListener) : new GlueFactory(context, cacher, converter, onListener));
        }
예제 #5
0
 public GlueFactory(HtmlViewContext context, ICSharpToJsCache cacher, IJavascriptToCSharpConverter converter, ObjectChangesListener onListener)
     : base(cacher, onListener)
 {
     _HtmlViewContext             = context;
     _JavascriptToCSharpConverter = converter;
 }