Ejemplo n.º 1
0
 public void ReBuildByWgr(HwgrToWgr wgr, BindingTemplate <BaseTreeItem> lst)
 {
     if (lst != null)
     {
         List <BaseTreeItem> detect = new List <BaseTreeItem>();
         detect.AddRange(lst);
         foreach (BaseTreeItem item in detect)
         {
             if (!item.IsHwgr && (item as WgrTreeItem).Wgr.WGR_ID == wgr.WGR_ID)
             {
                 lst.Remove(item);
             }
         }
         foreach (HwgrToWgr item in GetWgrHistoty())
         {
             if (item.BeginTime <= m_filterDate && item.EndTime >= m_filterDate)
             {
                 long parentid = 0;
                 foreach (BaseTreeItem var in lst)
                 {
                     if (var.IsHwgr && (var as HwgrTreeItem).Hwgr.HWGR_ID == item.HWGR_ID)
                     {
                         parentid = var.ID;
                         break;
                     }
                 }
                 lst.Add(new WgrTreeItem(item, parentid));
             }
         }
         lst.ClearRemoveList();
     }
 }
Ejemplo n.º 2
0
        public void ReBuildByHwgr(long hwgrid, BindingTemplate <BaseTreeItem> lst)
        {
            if (lst != null && lst.Count > 0)
            {
                WorldToHwgr entity = hwgrList.GetEntityByHwgrAndDate(WorldID, hwgrid, m_filterDate);

                for (int i = 0; i < lst.Count; i++)
                {
                    if (lst[i].IsHwgr)
                    {
                        HwgrTreeItem item = (lst[i] as HwgrTreeItem);
                        if (item.Hwgr.HWGR_ID == hwgrid)
                        {
                            if (entity != null)
                            {
                                item.Hwgr = entity;
                            }
                            else
                            {
                                RemoveChilds(item.ID, lst);
                                lst.Remove(item);
                                lst.ClearRemoveList();
                            }
                            return;
                        }
                    }
                }
                // new item
                if (entity != null)
                {
                    HwgrTreeItem item = new HwgrTreeItem(entity, 0);
                    lst.Add(item);
                    foreach (HwgrToWgr htw in wgrList)
                    {
                        if (htw.HWGR_ID == hwgrid)
                        {
                            if (htw.BeginTime.Date <= m_filterDate && m_filterDate <= htw.EndTime.Date)
                            {
                                lst.Add(new WgrTreeItem(htw, item.ID));
                            }
                        }
                    }
                }
            }
        }