コード例 #1
0
ファイル: VasilyDapper.cs プロジェクト: NMSAzulX/Old-Vasily
        public VasilyDapper(string key, int?timeout = null)
        {
            Timeout = timeout;
            ConnectionMapper mapper = VasilyCache.ConnectionCache[key];

            Connection = (IDbConnection)Activator.CreateInstance(mapper.ConnectionType, mapper.ConnectionString);
        }
コード例 #2
0
        /// <summary>
        /// 注册SqlConnection
        /// </summary>
        /// <typeparam name="T">SqlConnection类型</typeparam>
        /// <param name="key">获取实例的hashKey</param>
        /// <param name="connectionString">链接字符串</param>
        public static void AddConnection <T>(string key, string connectionString)
        {
            ConnectionMapper mapper = new ConnectionMapper();

            mapper.ConnectionType            = typeof(T);
            mapper.ConnectionString          = connectionString;
            VasilyCache.ConnectionCache[key] = mapper;
        }
コード例 #3
0
        public ManifestCaptureGraphInstance(NodeTemplate singleNodeGraph)
        {
            node     = singleNodeGraph;
            instance = node.CreateInstance();

            var connectionMapper = new ConnectionMapper(instance, this);

            node.Inputs(connectionMapper, instance);
            node.Outputs(connectionMapper, instance);
        }
コード例 #4
0
 /// <summary>
 /// 通过key获取IDbConnection
 /// </summary>
 /// <param name="key">KEY</param>
 /// <returns></returns>
 public static IDbConnection GetConnection(string key)
 {
     if (VasilyCache.ConnectionCache.ContainsKey(key))
     {
         ConnectionMapper mapper = VasilyCache.ConnectionCache[key];
         return((IDbConnection)Activator.CreateInstance(mapper.ConnectionType, mapper.ConnectionString));
     }
     else
     {
         return(null);
     }
 }
コード例 #5
0
ファイル: Worker.cs プロジェクト: Vanquish875/DotLToExcel
 public Worker(string filePath)
 {
     this.filePath      = filePath;
     _parser            = new Parser();
     _analogMapper      = new AnalogMapper();
     _connectionMapper  = new ConnectionMapper();
     _legacyNameMapper  = new LegacyNameMapper();
     _messageMapper     = new MessageMapper();
     _multistateMapper  = new MultistateMapper();
     _rateMapper        = new RateMapper();
     _remConnJoinMapper = new RemConnJoinMapper();
     _remoteMapper      = new RemoteMapper();
     _stationMapper     = new StationMapper();
     _statusMapper      = new StatusMapper();
     _templateMapper    = new CGLTemplateMapper();
     _CGLMapper         = new CGLMapper();
 }
コード例 #6
0
 public override OutputMap[] Outputs(ConnectionMapper graph) => null;
コード例 #7
0
 public override InputMap[] Inputs(ConnectionMapper graph) => new[]
 {
     graph.Connect(ref Template.Repetitions, ref Repetitions),
 };
コード例 #8
0
ファイル: OutputValueNode.cs プロジェクト: xJayLee/RPGCore
 public override OutputMap[] Outputs(ConnectionMapper connections) => null;
コード例 #9
0
ファイル: OutputValueNode.cs プロジェクト: xJayLee/RPGCore
 public override InputMap[] Inputs(ConnectionMapper connections) => new[]
 {
     connections.Connect(ref Template.Value, ref Value),
 };
コード例 #10
0
ファイル: GetStatNode.cs プロジェクト: SayaJue/RPGCore
 public override OutputMap[] Outputs(ConnectionMapper connections) => new[]
 {
     connections.Connect(ref Template.Output, ref Output)
 };
コード例 #11
0
ファイル: GetStatNode.cs プロジェクト: SayaJue/RPGCore
 public override InputMap[] Inputs(ConnectionMapper connections) => new[]
 {
     connections.Connect(ref Template.Character, ref Character),
 };
コード例 #12
0
 public override InputMap[] Inputs(ConnectionMapper connections) => new[]
 {
     connections.Connect(ref Template.Building, ref Building)
 };
コード例 #13
0
        public static NodeInformation Construct(Type nodeType)
        {
            var nodeInformation = new NodeInformation();

            var nodeTemplate     = (NodeTemplate)Activator.CreateInstance(nodeType);
            var metadataInstance = (NodeInstanceBase)nodeTemplate.CreateInstance();

            var instanceType = metadataInstance.GetType();

            var singleNodeGraph = new ManifestCaptureGraphInstance(nodeTemplate);

            int inputId            = 0;
            int outputId           = 0;
            var inputSocketFields  = new List <FieldInfo>();
            var outputSocketFields = new List <FieldInfo>();
            var fieldInfos         = new Dictionary <string, FieldInformation>();

            foreach (var field in nodeType.GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance))
            {
                if (field.FieldType == typeof(OutputSocket))
                {
                    field.SetValue(nodeTemplate, new OutputSocket(outputId));
                    outputId++;
                    outputSocketFields.Add(field);
                }
                else
                {
                    if (field.FieldType == typeof(InputSocket))
                    {
                        field.SetValue(nodeTemplate, new InputSocket(inputId));
                        inputId++;
                        inputSocketFields.Add(field);
                    }
                    fieldInfos.Add(field.Name, FieldInformation.ConstructFieldInformation(field, nodeTemplate));
                }
            }
            nodeInformation.Fields = fieldInfos;

            var nodeProperty = instanceType.GetProperty("Template");

            nodeProperty.SetValue(metadataInstance, nodeTemplate);

            var connectionMapper = new ConnectionMapper(metadataInstance, singleNodeGraph);

            var inputsArray  = metadataInstance.Inputs(connectionMapper);
            var outputsArray = metadataInstance.Outputs(connectionMapper);

            if (inputsArray != null)
            {
                nodeInformation.Inputs = new Dictionary <string, SocketInformation>(inputsArray.Length);

                for (int i = 0; i < inputsArray.Length; i++)
                {
                    var map   = inputsArray[i];
                    var field = inputSocketFields[map.ConnectionId];
                    nodeInformation.Inputs.Add(field.Name, SocketInformation.Construct(field, map));
                }
            }
            else
            {
                nodeInformation.Inputs = null;
            }

            if (outputsArray != null)
            {
                nodeInformation.Outputs = new Dictionary <string, SocketInformation>(outputsArray.Length);

                for (int i = 0; i < outputsArray.Length; i++)
                {
                    var map   = outputsArray[i];
                    var field = outputSocketFields[map.ConnectionId];
                    nodeInformation.Outputs.Add(field.Name, SocketInformation.Construct(field, map));
                }
            }
            else
            {
                nodeInformation.Outputs = null;
            }

            return(nodeInformation);
        }
コード例 #14
0
 public override InputMap[] Inputs(ConnectionMapper connections) => null;
コード例 #15
0
 public override OutputMap[] Outputs(ConnectionMapper connections) => new[]
 {
     connections.Connect(ref Template.Neighbours, ref Neighbours),
 };
コード例 #16
0
 public override OutputMap[] Outputs(ConnectionMapper connections) => new[]
 {
     connections.Connect(ref Template.Owner, ref Owner),
     connections.Connect(ref Template.Building, ref Building)
 };
コード例 #17
0
 public override OutputMap[] Outputs(ConnectionMapper connections) => new[]
 {
     connections.Connect(ref Template.Players, ref Players),
     connections.Connect(ref Template.Building, ref Building)
 };