Esempio n. 1
0
            public static void Write(CharStream sqlStream, modelType value, ConstantConverter converter)
            {
#if NOJIT
                if (fields != null)
                {
                    byte     isAnd = 0;
                    object[] sqlColumnParameters = null, castParameters = null, parameters = null;
                    foreach (sqlModel.updateField field in fields)
                    {
                        if (isAnd == 0)
                        {
                            isAnd = 1;
                        }
                        else
                        {
                            sqlStream.WriteNotNull(" and ");
                        }
                        field.Set(sqlStream, value, converter, ref sqlColumnParameters, ref castParameters, ref parameters);
                    }
                }
#else
                if (writer != null)
                {
                    writer(sqlStream, value, converter);
                }
#endif
            }
Esempio n. 2
0
 public static void Set(DbDataReader reader, modelType value, MemberMap memberMap)
 {
     if (setter != null)
     {
         setter(reader, value, memberMap);
     }
 }
Esempio n. 3
0
            public static void Update(CharStream sqlStream, MemberMap memberMap, modelType value, ConstantConverter converter, Table table)
            {
#if NOJIT
                if (fields != null)
                {
                    byte     isNext = 0;
                    object[] sqlColumnParameters = null, castParameters = null, parameters = null;
                    foreach (sqlModel.updateField field in fields)
                    {
                        if (memberMap.IsMember(field.Field.MemberMapIndex))
                        {
                            if (isNext == 0)
                            {
                                isNext = 1;
                            }
                            else
                            {
                                sqlStream.Write(',');
                            }
                            //if (field.NowTimeField == null)
                            field.Set(sqlStream, value, converter, ref sqlColumnParameters, ref castParameters, ref parameters);
                        }
                    }
                }
#else
                if (updater != null)
                {
                    updater(sqlStream, memberMap, value, converter, table);
                }
#endif
            }
Esempio n. 4
0
 public Model3D getModel3D(modelType model)
 {
     if (isLoaded[(int)model]) {
         return models[(int)model];
     }
     else {
         return loadModel(model);
     }
 }
Esempio n. 5
0
 public static void Set(DbDataReader reader, modelType value, MemberMap memberMap, ClientKind clientKind)
 {
     if (clientKind != ClientKind.Excel)
     {
         Set(reader, value, memberMap);
     }
     else
     {
         AutoCSer.Sql.Excel.DataModel.Model <modelType> .Setter.Set(reader, value, memberMap);
     }
 }
Esempio n. 6
0
            public static void Write(modelType value, object[] values, ref int index, Table table)
            {
#if NOJIT
                if (fields != null)
                {
                    object[] sqlColumnParameters = null, castParameters = null;
                    foreach (sqlModel.toArrayField field in fields)
                    {
                        AutoCSer.code.cSharp.sqlModel.fieldInfo fieldInfo = field.Field;
                        if (fieldInfo.IsSqlColumn)
                        {
                            if (sqlColumnParameters == null)
                            {
                                sqlColumnParameters = new object[] { null, values, null }
                            }
                            ;
                            sqlColumnParameters[0] = fieldInfo.Field.GetValue(value);
                            sqlColumnParameters[2] = index;
                            field.SqlColumnMethod.Invoke(null, sqlColumnParameters);
                            index = (int)sqlColumnParameters[2];
                        }
                        else
                        {
                            //if (field.NowTimeField == null)
                            object memberValue = fieldInfo.Field.GetValue(value);
                            if (field.NullableHasValueMethod == null)
                            {
                                if (fieldInfo.ToSqlCastMethod != null)
                                {
                                    if (castParameters == null)
                                    {
                                        castParameters = new object[1];
                                    }
                                    castParameters[0] = memberValue;
                                    memberValue       = fieldInfo.ToSqlCastMethod.Invoke(null, castParameters);
                                }
                            }
                            else
                            {
                                memberValue = (bool)field.NullableHasValueMethod.Invoke(memberValue, null) ? field.NullableValueMethod.Invoke(memberValue, null) : null;
                            }
                            values[index++] = memberValue;
                        }
                    }
                }
#else
                if (defaultWriter != null)
                {
                    defaultWriter(value, values, ref index, table);
                }
#endif
            }
Esempio n. 7
0
 /// <summary>
 /// 创建应用程序池
 /// </summary>
 /// <param name="appName">自定义引用程序池名</param>
 /// <param name="type">托管类型</param>
 /// <param name="netV">.net版本</param>
 /// <returns></returns>
 public DirectoryEntry creatAppPool(string appName, modelType type, netVersion netV)
 {
     if (!isAppPoolExist(appName))
     {
         DirectoryEntry newpool;
         DirectoryEntry appPools = new DirectoryEntry("IIS://localhost/W3SVC/AppPools");
         newpool = appPools.Children.Add(appName, "IIsApplicationPool");
         //修改应用程序池配置
         setModalAndNetVersionOfappPool(appName, type, netV);
         newpool.CommitChanges();
         return(newpool);
     }
     else
     {
         return(null);
     }
 }
    public Navigation(GameObject oggetto, modelType mt = modelType.car)
    {
        switch (mt)
        {
        case modelType.kinematic:
            this.model = new KinematicVehicleModel(oggetto.gameObject);
            break;

        case modelType.differential:
            this.model = new DifferentialVehicleModel(oggetto.gameObject);
            break;

        case modelType.car:
            this.model = new CarVehicleModel(oggetto.gameObject);
            break;

        default:
            break;
        }
    }
Esempio n. 9
0
        /// <summary>
        /// 设置应用程序池的托管模式和.net版本
        /// </summary>
        /// <param name="appPoolName"></param>
        /// <param name="modelType"></param>
        /// <param name="netVersion"></param>
        public void setModalAndNetVersionOfappPool(string appPoolName, modelType mt, netVersion nv)
        {
            if (String.IsNullOrEmpty(appPoolName))
            {
                return;
            }
            if (isAppPoolExist(appPoolName))
            {
                return;
            }
            if (nv == null)
            {
                return;
            }
            if (mt == null)
            {
                return;
            }
            ServerManager sm = new ServerManager();

            if (nv == netVersion.v2_0)
            {
                sm.ApplicationPools[appPoolName].ManagedRuntimeVersion = "v2.0";
            }
            else if (nv == netVersion.v4_0)
            {
                sm.ApplicationPools[appPoolName].ManagedRuntimeVersion = "v4.0";
            }

            if (mt == modelType.集成)
            {
                sm.ApplicationPools[appPoolName].ManagedPipelineMode = ManagedPipelineMode.Integrated;
            }
            else if (mt == modelType.经典)
            {
                sm.ApplicationPools[appPoolName].ManagedPipelineMode = ManagedPipelineMode.Classic; //托管模式Integrated为集成 Classic为经典
            }
            sm.CommitChanges();
        }
Esempio n. 10
0
        private Model3D loadModel(modelType model)
        {
            String modelString = "";
            float modelScale = 1.0f;

            switch (model) {
                case modelType.XYZ: modelString = "Models/xyz"; modelScale = 1.0f; break;
                case modelType.Truck: modelString = "Models/Truck/newtruck"; modelScale = 0.005f; break;
                case modelType.Car: modelString = "Models/Car/car"; modelScale = 0.75f; break;
                case modelType.Tank: modelString = "Models/Tank/tank"; modelScale = 0.005f; break;
                case modelType.Skybox: modelString = "Models/Skysphere/skysphere2"; modelScale = 10.0f; break;
            }

            Model newModel = content.Load<Model>(modelString);

            int textureCount = 0;
            foreach (ModelMesh mesh in newModel.Meshes)
                textureCount += mesh.Effects.Count;

            Texture2D[] newTextures = new Texture2D[textureCount];

            int i = 0;
            foreach (ModelMesh mesh in newModel.Meshes)
                foreach (BasicEffect basicEffect in mesh.Effects)
                    newTextures[i++] = basicEffect.Texture;

            foreach (ModelMesh mesh in newModel.Meshes)
                foreach (ModelMeshPart meshPart in mesh.MeshParts)
                    meshPart.Effect = modelEffect.Clone(graphics);

            isLoaded[(int)model] = true;

            models[(int)model] = new Model3D(newModel, newTextures, modelEffect, modelScale);

            return models[(int)model];
        }
Esempio n. 11
0
            public static void Set(DbDataReader reader, modelType value, MemberMap memberMap)
            {
#if NOJIT
                if (fields != null)
                {
                    int      index = 0;
                    object[] sqlColumnParameters = null, castParameters = null;
                    foreach (sqlModel.setField field in fields)
                    {
                        AutoCSer.code.cSharp.sqlModel.fieldInfo fieldInfo = field.Field;
                        if (memberMap.IsMember(fieldInfo.MemberMapIndex))
                        {
                            if (fieldInfo.DataReaderMethod == null)
                            {
                                if (sqlColumnParameters == null)
                                {
                                    sqlColumnParameters = new object[] { reader, null, null }
                                }
                                ;
                                sqlColumnParameters[1] = null;
                                sqlColumnParameters[2] = index;
                                field.SqlColumnMethod.Invoke(null, sqlColumnParameters);
                                fieldInfo.Field.SetValue(value, sqlColumnParameters[1]);
                                index = (int)sqlColumnParameters[2];
                            }
                            else
                            {
                                object memberValue;
                                if (fieldInfo.DataType == fieldInfo.NullableDataType && (fieldInfo.DataType.IsValueType || !fieldInfo.DataMember.IsNull))
                                {
                                    memberValue = reader[index++];
                                    if (fieldInfo.ToModelCastMethod != null)
                                    {
                                        if (castParameters == null)
                                        {
                                            castParameters = new object[1];
                                        }
                                        castParameters[0] = memberValue;
                                        memberValue       = fieldInfo.ToModelCastMethod.Invoke(null, castParameters);
                                    }
                                }
                                else if (reader.IsDBNull(index))
                                {
                                    memberValue = null;
                                    ++index;
                                }
                                else
                                {
                                    memberValue = reader[index++];
                                    if (fieldInfo.ToModelCastMethod != null && fieldInfo.DataType == fieldInfo.NullableDataType)
                                    {
                                        if (castParameters == null)
                                        {
                                            castParameters = new object[1];
                                        }
                                        castParameters[0] = memberValue;
                                        memberValue       = fieldInfo.ToModelCastMethod.Invoke(null, castParameters);
                                    }
                                }
                                fieldInfo.Field.SetValue(value, memberValue);
                            }
                        }
                    }
                }
#else
                if (setter != null)
                {
                    setter(reader, value, memberMap);
                }
#endif
            }
Esempio n. 12
0
 public Synapse(int targetNeuronIn, float weightIn, modelType modelIn)
 {
     targetNeuron = targetNeuronIn;
     weight       = weightIn;
     model        = modelIn;
 }
Esempio n. 13
0
            public static bool Verify(modelType value, MemberMap memberMap, Table sqlTool)
            {
#if NOJIT
                if (fields != null)
                {
                    object[] sqlColumnParameters = null, castParameters = null;
                    foreach (sqlModel.verifyField field in fields)
                    {
                        AutoCSer.code.cSharp.sqlModel.fieldInfo fieldInfo = field.Field;
                        if (memberMap.IsMember(fieldInfo.MemberMapIndex))
                        {
                            object memberValue = fieldInfo.Field.GetValue(value);
                            if (field.IsSqlVerify)
                            {
                                if (!fieldInfo.Field.FieldType.IsValueType && memberValue == null)
                                {
                                    return(false);
                                }
                                if (!(bool)((AutoCSer.emit.sqlTable.ISqlVerify)memberValue).IsSqlVeify())
                                {
                                    return(false);
                                }
                            }
                            else if (fieldInfo.IsSqlColumn)
                            {
                                if (sqlColumnParameters == null)
                                {
                                    sqlColumnParameters = new object[] { null, sqlTool, null }
                                }
                                ;
                                sqlColumnParameters[0] = memberValue;
                                sqlColumnParameters[2] = fieldInfo.Field.Name;
                                if (!(bool)field.SqlColumnMethod.Invoke(null, sqlColumnParameters))
                                {
                                    return(false);
                                }
                            }
                            else if (fieldInfo.DataType == typeof(string))
                            {
                                if (fieldInfo.ToSqlCastMethod != null)
                                {
                                    if (castParameters == null)
                                    {
                                        castParameters = new object[1];
                                    }
                                    castParameters[0] = memberValue;
                                    memberValue       = fieldInfo.ToSqlCastMethod.Invoke(null, castParameters);
                                }
                                dataMember dataMember = fieldInfo.DataMember;
                                if (!sqlTool.StringVerify(fieldInfo.Field.Name, (string)memberValue, dataMember.MaxStringLength, dataMember.IsAscii, dataMember.IsNull))
                                {
                                    return(false);
                                }
                            }
                            else
                            {
                                if (fieldInfo.ToSqlCastMethod != null && !fieldInfo.IsUnknownJson)
                                {
                                    if (castParameters == null)
                                    {
                                        castParameters = new object[1];
                                    }
                                    castParameters[0] = memberValue;
                                    memberValue       = fieldInfo.ToSqlCastMethod.Invoke(null, castParameters);
                                }
                                if (memberValue == null)
                                {
                                    sqlTool.NullVerify(fieldInfo.Field.Name);
                                    return(false);
                                }
                            }
                        }
                    }
                }
                return(true);
#else
                return(verifyer == null || verifyer(value, memberMap, sqlTool));
#endif
            }
Esempio n. 14
0
            public static void Insert(CharStream sqlStream, MemberMap memberMap, modelType value, ConstantConverter converter, Table table)
            {
#if NOJIT
                if (fields != null)
                {
                    object[] sqlColumnParameters = null, castParameters = null, parameters = null;
                    byte     isNext = 0;
                    foreach (InsertField field in fields)
                    {
                        if (memberMap.IsMember(field.Field.MemberMapIndex))
                        {
                            if (isNext == 0)
                            {
                                isNext = 1;
                            }
                            else
                            {
                                sqlStream.Write(',');
                            }
                            Field fieldInfo = field.Field;
                            if (fieldInfo.IsSqlColumn)
                            {
                                if (sqlColumnParameters == null)
                                {
                                    sqlColumnParameters = new object[] { sqlStream, null, converter }
                                }
                                ;
                                sqlColumnParameters[1] = fieldInfo.FieldInfo.GetValue(value);
                                field.SqlColumnMethod.Invoke(null, sqlColumnParameters);
                            }
                            else if (fieldInfo.NowTimeField == null)
                            {
                                object memberValue = fieldInfo.FieldInfo.GetValue(value);
                                if (fieldInfo.ToSqlCastMethod != null)
                                {
                                    if (castParameters == null)
                                    {
                                        castParameters = new object[1];
                                    }
                                    castParameters[0] = memberValue;
                                    memberValue       = fieldInfo.ToSqlCastMethod.Invoke(null, castParameters);
                                }
                                if (parameters == null)
                                {
                                    parameters = new object[] { sqlStream, null }
                                }
                                ;
                                parameters[1] = memberValue;
                                fieldInfo.ToSqlMethod.Invoke(converter, parameters);
                            }
                            else
                            {
                                if (parameters == null)
                                {
                                    parameters = new object[] { sqlStream, null }
                                }
                                ;
                                parameters[1] = fieldInfo.NowTimeField.GetValue(null);
                                fieldInfo.ToSqlMethod.Invoke(converter, parameters);
                            }
                        }
                    }
                }
#else
                if (inserter != null)
                {
                    inserter(sqlStream, memberMap, value, converter, table);
                }
#endif
            }
Esempio n. 15
0
        /// <summary>
        /// 创建网站
        /// </summary>
        /// <param name="siteInfo"></param>
        public DirectoryEntry creatNewWeb(newWebSiteInfo siteInfo, modelType type, netVersion netV)
        {
            DirectoryEntry Services = new DirectoryEntry("IIS://localhost/W3SVC");
            int            webID    = 0;

            foreach (DirectoryEntry server in Services.Children)
            {
                if (server.SchemaClassName == "IIsWebServer")
                {
                    if (Convert.ToInt32(server.Name) > webID)
                    {
                        webID = Convert.ToInt32(server.Name);
                    }
                }
            }
            webID++;

            //创建站点
            DirectoryEntry mySitServer = Services.Children.Add(webID.ToString(), "IIsWebServer");

            mySitServer.Properties["ServerComment"].Clear();
            mySitServer.Properties["ServerComment"].Add(siteInfo.webName);
            mySitServer.Properties["Serverbindings"].Clear();
            mySitServer.Properties["Serverbindings"].Add(":" + siteInfo.porNum + ":");
            mySitServer.Properties["Path"].Clear();                         //注意该path为站点的路径,新增站点时,两者目录一致
            mySitServer.Properties["path"].Add(siteInfo.webPath);
            mySitServer.Properties["DefaultDoc"].Add(siteInfo.defoultPage); //设置默认文档

            //创建虚拟目录
            DirectoryEntry root = mySitServer.Children.Add("Root", "IIsWebVirtualDir");

            root.Properties["path"].Clear();//该路劲属性是站点下虚拟路径的路径,类似于站点的子路径
            root.Properties["path"].Add(siteInfo.visualPath);


            if (string.IsNullOrEmpty(siteInfo.appName))
            {
                root.Invoke("appCreate", 0);
            }
            else
            {
                //创建引用程序池
                string appPoolName = siteInfo.appName;
                if (!isAppPoolExist(appPoolName))
                {
                    DirectoryEntry newpool;
                    DirectoryEntry appPools = new DirectoryEntry("IIS://localhost/W3SVC/AppPools");
                    newpool = appPools.Children.Add(appPoolName, "IIsApplicationPool");
                    newpool.CommitChanges();
                }
                //修改应用程序池配置
                setModalAndNetVersionOfappPool(appPoolName, type, netV);
                root.Invoke("appCreate3", 0, appPoolName, true);
            }

            root.Properties["AppFriendlyName"].Clear();
            root.Properties["AppIsolated"].Clear();
            root.Properties["AccessFlags"].Clear();
            root.Properties["FrontPageWeb"].Clear();
            root.Properties["AppFriendlyName"].Add(root.Name);
            root.Properties["AppIsolated"].Add(2);
            root.Properties["AccessFlags"].Add(513);
            root.Properties["FrontPageWeb"].Add(1);

            root.CommitChanges();
            mySitServer.CommitChanges();

            return(mySitServer);
        }