Example #1
0
 public LoadRuleData(bool isDirect = false)
 {
     this.rule = isDirect ? LoadRule.Direct : LoadRule.FlushGarbage;
 }
Example #2
0
 public LoadRuleData(AsyncOperation preloaded)
 {
     this.rule           = LoadRule.PreloadedScene;
     this.preloadedScene = preloaded;
 }
Example #3
0
        public static bool GetLoadRule(string path, out List <LoadRule> LoadRules)
        {
            LoadRules = new List <LoadRule>();
            try
            {
                string conn;
                conn = System.Configuration.ConfigurationManager.ConnectionStrings["ToolsStoreConnectionString"].ToString();

                var daLoadRule = new SqlDataAdapter("SP_GET_LOAD_RULE", new SqlConnection(conn));
                daLoadRule.SelectCommand.CommandType    = CommandType.StoredProcedure;
                daLoadRule.SelectCommand.CommandTimeout = 1800;
                daLoadRule.SelectCommand.Parameters.Add("@Path", System.Data.SqlDbType.NVarChar, 1000);
                daLoadRule.SelectCommand.Parameters["@Path"].Value = path;
                daLoadRule.TableMappings.AddRange(new System.Data.Common.DataTableMapping[] {
                    new System.Data.Common.DataTableMapping("Table", "SP_GET_LOAD_RULE", new System.Data.Common.DataColumnMapping[] {
                        new System.Data.Common.DataColumnMapping("LoadRuleId", "LoadRuleId"),
                        new System.Data.Common.DataColumnMapping("Code", "Code"),
                        new System.Data.Common.DataColumnMapping("Pattern", "Pattern"),
                        new System.Data.Common.DataColumnMapping("Method", "Method"),
                        new System.Data.Common.DataColumnMapping("Descr", "Descr"),
                        new System.Data.Common.DataColumnMapping("IsActive", "IsActive"),
                        new System.Data.Common.DataColumnMapping("Ord", "Ord"),
                        new System.Data.Common.DataColumnMapping("LoadRuleSpecId", "LoadRuleSpecId"),
                        new System.Data.Common.DataColumnMapping("FileName", "FileName"),
                        new System.Data.Common.DataColumnMapping("PathToFile", "PathToFile"),
                        new System.Data.Common.DataColumnMapping("IsMain", "IsMain")
                    })
                });

                var dsLoadRule = new dsLoadRule();
                dsLoadRule.Clear();
                daLoadRule.Fill(dsLoadRule);

                foreach (var row in dsLoadRule.SP_GET_LOAD_RULE)
                {
                    if (!LoadRules.Any(x => x.LoadRuleId == row.LoadRuleId))
                    {
                        var lr1 = new LoadRule();
                        lr1.LoadRuleId = row.LoadRuleId;
                        lr1.Code       = row.Code;
                        lr1.Pattern    = row.Pattern;
                        lr1.Method     = row.Method;
                        lr1.Descr      = row.Descr;
                        lr1.IsActive   = row.IsActive;
                        lr1.Ord        = row.Ord;

                        lr1.Specs = new List <LoadRuleSpec>();
                        var lrs1 = new LoadRuleSpec();
                        lrs1.LoadRuleSpecId = row.LoadRuleSpecId;
                        lrs1.FileName       = row.FileName;
                        lrs1.PathToFile     = row.PathToFile;
                        lrs1.IsMain         = row.IsMain;

                        lr1.Specs.Add(lrs1);
                        LoadRules.Add(lr1);
                    }
                    else
                    {
                        var lr2  = LoadRules.Where(x => x.LoadRuleId == row.LoadRuleId).Single();
                        var lrs2 = new LoadRuleSpec();
                        lrs2.LoadRuleSpecId = row.LoadRuleSpecId;
                        lrs2.FileName       = row.FileName;
                        lrs2.PathToFile     = row.PathToFile;
                        lrs2.IsMain         = row.IsMain;
                        lr2.Specs.Add(lrs2);
                    }
                }

                return(true);
            }
            catch (Exception ex)
            {
                Log.write(ex.Message);
                LoadRules = null;
                return(false);
            }
        }