Exemple #1
0
 public void AddDivFre(DivFreTreeItemViewModel divfre)
 {
     if (divfre == null)
     {
         return;
     }
     if (!DivFreTreeItems.Contains(divfre))
     {
         DivFreTreeItems.Add(divfre);
     }
 }
Exemple #2
0
 public void DeleteDivFre(DivFreTreeItemViewModel divfre)
 {
     if (divfre == null)
     {
         return;
     }
     if (DivFreTreeItems.Contains(divfre))
     {
         DivFreTreeItems.Remove(divfre);
     }
 }
Exemple #3
0
        private void GetSubOrganization(OrganizationTreeItemViewModel parent_organization, string ip, bool isadmin)
        {
            if (parent_organization == null)
            {
                return;
            }
            var childs = from p in _databaseComponent.GetOrganizationData(ip) where p.Parent_Guid == parent_organization.T_Organization.Guid && p.Is_Disabled == false orderby p.Sort_No select p;

            foreach (var child in childs)
            {
                if (child.NodeType == 0 && child.Is_Disabled == false)
                {
                    T1_OrganizationPrivilege t_organization = null;
                    if (isadmin == false)
                    {
                        t_organization = (from p in T_OrganizationPrivilege[ip] where p.T_Organization_Guid == child.Guid select p).FirstOrDefault();
                    }
                    if (t_organization != null || isadmin == true)
                    {
                        OrganizationTreeItemViewModel organization = new OrganizationTreeItemViewModel(child, parent_organization);
                        //organization.T_Organization = child;
                        parent_organization.AddChild(organization);
                        GetSubOrganization(organization, ip, isadmin);
                    }
                }
                else if (child.NodeType == 1 && child.Is_Disabled == false)
                {
                    T1_OrganizationPrivilege t_organization = null;
                    if (isadmin == false)
                    {
                        t_organization = (from p in T_OrganizationPrivilege[ip] where p.T_Organization_Guid == child.Guid select p).FirstOrDefault();
                    }
                    if (t_organization != null || isadmin == true)
                    {
                        DeviceTreeItemViewModel organization = new DeviceTreeItemViewModel(child, parent_organization);
                        parent_organization.AddChild(organization);

                        GetSubOrganization(organization, ip, isadmin);
                    }
                }
                else if (child.NodeType == 2 && child.Is_Disabled == false)
                {
                    ItemTreeItemViewModel organization = new ItemTreeItemViewModel(child, parent_organization as DeviceTreeItemViewModel);
                    parent_organization.AddChild(organization);
                    //测点数据
                    var t_item = _databaseComponent.GetItemData(ip).Where(p => p.Is_Disabled == false && p.Guid == organization.T_Organization.Guid).FirstOrDefault();
                    if (t_item != null)
                    {
                        organization.RecoverBind(t_item);
                        t_item.ServerIP = parent_organization.ServerIP;//改为初始化时候填充,覆盖数据库的ServerIP。
                        //如果彻底删除此项,必须修改//服务器IP匹配20180306
                    }
                    ItemTreeItems.Add(organization);

                    GetSubOrganization(organization, ip, isadmin);
                }
                else if (child.NodeType == 3 && child.Is_Disabled == false)
                {
                    DivFreTreeItemViewModel organization = new DivFreTreeItemViewModel(child, parent_organization as ItemTreeItemViewModel);

                    //分频数据
                    var t_divfre = T_DivFreInfo[ip].Where(p => p.Guid == organization.T_Organization.Guid).FirstOrDefault();
                    if (t_divfre != null)                           //分频一定不为空
                    {
                        parent_organization.AddChild(organization); //否则丢弃无效分频数据

                        organization.T_DivFreInfo = t_divfre;
                        DivFreTreeItems.Add(organization);

                        //GetSubOrganization(organization, ip, isadmin);//分频下无节点
                    }
                }
            }
        }