Ejemplo n.º 1
0
        public void Enumerate()
        {
            FileDb dbconfig = null;

            return;


            foreach (var config in dbconfig.Config.Configurations)
            {
                var root = new DirectoryInfo(Path.Combine(dbconfig.Config.Directory, config.Root.PartString));
                foreach (var r in root.SplitFull())
                {
                    if (!Directory.Exists(r.FullName))
                    {
                        Directory.CreateDirectory(r.FullName);
                    }
                }

                var searchList = new List <DirectoryInfo>();

                searchList.Add(root);
                var done = false;
                foreach (var part in config.Parts)
                {
                    if (done)
                    {
                        break;
                    }
                    switch (part.PartType)
                    {
                    case PartType.Directory:
                        for (var i = 0; i < searchList.Count; i++)
                        {
                            searchList[i] =
                                new DirectoryInfo(Path.Combine(searchList[i].FullName, part.PartString));
                            if (!Directory.Exists(searchList[i].FullName))
                            {
                                Directory.CreateDirectory(searchList[i].FullName);
                            }
                        }
                        break;

                    case PartType.Property:
                        //if next not file
                        var newList = new List <DirectoryInfo>();
                        foreach (var i in searchList)
                        {
                            newList.AddRange(i.GetDirectories());
                        }
                        searchList = newList;
                        break;

                    case PartType.File:
                        var remList = new List <DirectoryInfo>();
                        foreach (var i in searchList)
                        {
                            if (i.GetFiles().Any(x => x.Name == part.PartString) == false)
                            {
                                remList.Add(i);
                            }
                        }
                        foreach (var i in remList)
                        {
                            searchList.Remove(i);
                        }
                        break;

                    default:
                        throw new ArgumentOutOfRangeException();
                    }
                }
                //Console.WriteLine(timer.ElapsedMilliseconds);
                //foreach (var f in searchList) Console.WriteLine(f.FullName);
            }
            var timer = new Stopwatch();

            timer.Start();
            foreach (var g in dbconfig.Query <Game>())
            {
            }
            timer.Stop();
            Console.WriteLine("GameLoadTime: {0}", timer.ElapsedMilliseconds);
            timer.Reset();
            timer.Start();
            var cardCount = 0;

            foreach (var s in dbconfig.Query <Set>())
            {
                cardCount += s.Cards.Count();
            }
            foreach (var s in dbconfig.Query <GameScript>())
            {
                Console.WriteLine(s.Path);
            }
            foreach (var p in dbconfig.Query <ProxyDefinition>())
            {
                Console.WriteLine(p.Key);
            }
            timer.Stop();
            Console.WriteLine("TotalCards: {0}", cardCount);
            Console.WriteLine("TotalLoadTime: {0}", timer.ElapsedMilliseconds);

            //Assert.Fail();
        }