Ejemplo n.º 1
0
        private List <ServiceType> GetServiceTypes(TreeListNodes nodes)
        {
            List <ServiceType> result = new List <ServiceType>();

            foreach (TreeListNode listNode in nodes)
            {
                if (listNode.Nodes.Count > 0)
                {
                    result.AddRange(GetServiceTypes(listNode.Nodes));
                }

                ServiceTree service = GetServiceByNode(listNode);
                if (service == null || service.ParentId != Guid.Empty)
                {
                    continue;
                }

                ServiceType s = new ServiceType();

                s.ServiceTypeId = service.ServiceId;
                s.Name          = service.Name;

                result.Add(s);
            }

            return(result);
        }
Ejemplo n.º 2
0
        private List <TreeListNode> GetNodesByServiceIds(TreeListNodes nodes, List <Guid> serviceIds, bool invert)
        {
            List <TreeListNode> result = new List <TreeListNode>();

            foreach (TreeListNode node in nodes)
            {
                if (node.Nodes.Count > 0)
                {
                    result.AddRange(GetNodesByServiceIds(node.Nodes, serviceIds, invert));
                }

                ServiceTree service = GetServiceByNode(node);
                if (service == null || service.ParentId == Guid.Empty)
                {
                    continue;
                }

                if (invert)
                {
                    if (!serviceIds.Contains(service.ServiceId))
                    {
                        result.Add(node);
                    }
                }
                else
                {
                    if (serviceIds.Contains(service.ServiceId))
                    {
                        result.Add(node);
                    }
                }
            }

            return(result);
        }
Ejemplo n.º 3
0
        private ServiceTree GetServiceByNode(TreeListNode listNode)
        {
            if (listNode == null)
            {
                return(null);
            }

            ServiceTree st = new ServiceTree();

            st.ServiceId = (Guid)listNode["service_id"];
            st.ParentId  = (Guid)listNode["service_type_id"];
            st.Name      = (string)listNode["name"];

            return(st);
        }
Ejemplo n.º 4
0
        private void ServiceTree_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            TreeListHitInfo info = ServiceTree.CalcHitInfo(new Point(e.X, e.Y));

            if (info.Node == null || info.HitInfoType == HitInfoType.Empty)
            {
                return;
            }

            ServiceTree serviceTree = GetServiceByNode(info.Node);
            ServiceTree parentNode  = GetServiceByNode(info.Node.ParentNode);

            if (parentNode == null)
            {
                return;
            }

            using (ServiceDetailsForm form = new ServiceDetailsForm())
            {
                form.ServiceTypes = GetServiceTypes(ServiceTree.Nodes);

                form.CurrentServiceType = new ServiceType {
                    Name = parentNode.Name, ServiceTypeId = parentNode.ServiceId
                };
                form.Service = new Service
                {
                    Name          = serviceTree.Name,
                    ServiceId     = serviceTree.ServiceId,
                    ServiceTypeId = parentNode.ServiceId
                };

                if (form.ShowDialog() == DialogResult.OK)
                {
                    needRaseSelecttionChangedEvent = false;

                    OnServiceUpdated(new ServiceUpdatedEventArgs(form.CurrentServiceType, form.Service));
                    OnDataSourceChanged();
                    ServiceTree.Selection.Clear();

                    needRaseSelecttionChangedEvent = true;

                    Select(form.Service);
                }
            }
        }
Ejemplo n.º 5
0
        private List <Service> GetSelectedServices()
        {
            List <Service> result = new List <Service>();

            foreach (TreeListNode listNode in ServiceTree.Selection)
            {
                ServiceTree service = GetServiceByNode(listNode);
                if (service == null || service.ParentId == Guid.Empty)
                {
                    continue;
                }

                Service s = new Service();

                s.ServiceId = service.ServiceId;
                s.Name      = service.Name;

                result.Add(s);
            }

            return(result);
        }
Ejemplo n.º 6
0
        private void SelectService(TreeListNodes nodes, Service sService)
        {
            foreach (TreeListNode listNode in nodes)
            {
                if (listNode.Nodes.Count > 0)
                {
                    SelectService(listNode.Nodes, sService);
                }

                ServiceTree service = GetServiceByNode(listNode);
                if (service == null || service.ParentId == Guid.Empty)
                {
                    continue;
                }

                if (service.ServiceId == sService.ServiceId)
                {
                    listNode.Selected = true;
                    return;
                }
            }
        }