Exemplo n.º 1
0
 public override void BrowseDirectChildren(XmlWriter writer, string idParams, uint startingIndex, uint requestedCount, string sortCriteria, out string numberReturned, out string totalMatches, string host, HashSet <string> filterSet)
 {
     if (string.IsNullOrEmpty(idParams))
     {
         UpdateChannels();
         base.BrowseDirectChildren(writer, idParams, startingIndex, requestedCount, sortCriteria,
                                   out numberReturned, out totalMatches, host, filterSet);
     }
     else
     {
         if (_childItems.Count == 0)
         {
             UpdateChannels();
         }
         var      aids = idParams.Split("_".ToCharArray(), 2, StringSplitOptions.RemoveEmptyEntries);
         var      chdt = aids[0].Split("|".ToCharArray());
         DateTime date = DateTime.Today;
         if (chdt.Length > 1)
         {
             date = DateTime.Parse(chdt[1] ?? DateTime.Today.ToShortDateString());
         }
         //date = UpdateRecords(date, host, int.Parse(aids[0]));
         string        root      = chdt[0] + "|" + DateTime.Today.ToShortDateString();
         ItemContainer container = (_childItems.First(item => item.Id.Split("_".ToCharArray())[0] == root) as ItemContainer);
         container = GetContainterByDate(date, container);
         if (container.Count() == 0)
         {
             UpdateRecords(date, host, int.Parse(chdt[0]));
         }
         container.BrowseDirectChildren(writer, aids.Length > 1 ? aids[1] : string.Empty, startingIndex, requestedCount, "+dc:date", out numberReturned, out totalMatches, host, filterSet);
     }
 }
Exemplo n.º 2
0
        private ItemContainer GetContainterByDate(DateTime date, ItemContainer container)
        {
            if (container.Count() == 0 || date == DateTime.Today)
            {
                return(container);
            }
            ItemContainer ch = (ItemContainer)container.GetChild(0);
            TimeSpan      ts = DateTime.Today - date;

            for (int i = 0; i < ts.Days - 1 && ch.Count() > 0; i++)
            {
                ch = (ItemContainer)ch.GetChild(0);
            }
            return(ch);
        }
Exemplo n.º 3
0
 private ItemContainer GetContainterByDate(DateTime date, ItemContainer container)
 {  
     if (container.Count() == 0 || date == DateTime.Today)
         return container;
     ItemContainer ch = (ItemContainer)container.GetChild(0);
     TimeSpan ts = DateTime.Today - date;
     for (int i = 0; i < ts.Days - 1 && ch.Count() > 0; i++)
     {
         ch = (ItemContainer) ch.GetChild(0);
     }
     return ch;
 }