Ejemplo n.º 1
0
        public void Scan(PageItemCollection Items)
        {
            ActualIndexes.Clear();
            Files.Clear();

            for (int i = 0; Items.Count > i; i++)
            {
                FileItem fi = Items[i] as FileItem;
                if (fi != null)
                {
                    if (fi.Playable && System.IO.File.Exists(fi.File.Path))
                    {
                        ActualIndexes.Add(i);
                        Files.Add(fi);
                    }
                }
            }

            ShuffledIndexes = Enumerable.Range(0, Files.Count).ToArray();

            Random rng = new Random();
            int    n   = Files.Count;

            while (n > 1)
            {
                n--;
                int k   = rng.Next(n + 1);
                int tmp = ShuffledIndexes[k];
                ShuffledIndexes[k] = ShuffledIndexes[n];
                ShuffledIndexes[n] = tmp;
            }

            Index = -1;
        }
Ejemplo n.º 2
0
        protected virtual PageItem FindPageItem(PageItemCollection Items, ListItem ListItem)
        {
            for (int i = 0; Items.Count > i; i++)
            {
                if (Items[i].ListItem == ListItem)
                {
                    return(Items[i]);
                }
            }

            return(null);
        }
Ejemplo n.º 3
0
 public OrderManager(PageItemCollection Items)
 {
     Scan(Items);
 }