Example #1
0
        public List <EndpointDescriptor> GetEndpointDescriptorList()
        {
            endpointDescriptorList.Clear();
            List <EndpointDescriptor> buffer = new List <EndpointDescriptor>();

            Connect();

            MySqlCommand cmd = connection.CreateCommand();

            cmd.CommandText = "SELECT * FROM endpoint_descriptor ORDER BY endpoint_descriptor_id";

            HtaMySqlDataReader reader = null;

            try
            {
                reader = new HtaMySqlDataReader(cmd.ExecuteReader());
            }
            catch
            {
                MessageBox.Show("Datenbankfehler.", "", MessageBoxButton.OK);
                return(buffer);
            }

            while (reader.Read())
            {
                EndpointDescriptor newEndpointType = ReadEndpointDescriptor(reader);
                buffer.Add(newEndpointType);
            }

            Disconnect();

            foreach (EndpointDescriptor ep in buffer)
            {
                EndpointDescriptor elementToAdd = null;

                if (ep.ParentId > 0)
                {
                    if (buffer.Any(item => item.Id == ep.ParentId))
                    {
                        EndpointDescriptor parent = buffer.First(item => item.Id == ep.ParentId);
                        parent.ChildList.Add(ep);
                        ep.Parent    = parent;
                        elementToAdd = parent;
                    }
                }
                else
                {
                    elementToAdd = ep;
                }

                if (!endpointDescriptorList.Any(item => item.Id == elementToAdd.Id))
                {
                    endpointDescriptorList.Add(elementToAdd);
                }
            }

            return(endpointDescriptorList);
        }
Example #2
0
        public EndpointDescriptor ReadEndpointDescriptor(HtaMySqlDataReader reader)
        {
            EndpointDescriptor result = new EndpointDescriptor();

            result.Id             = reader.GetInt32("endpoint_descriptor_id");
            result.Name           = reader.GetString("endpoint_descriptor_name");
            result.Abbreviation   = reader.GetString("abbreviation");
            result.Dimension      = (EndpointDimensionType)Enum.Parse(typeof(EndpointDimensionType), reader.GetString("endpoint_descriptor_dimension").ToUpper());
            result.ParentId       = reader.GetInt32("parent_id");
            result.NameEN         = reader.GetString("endpoint_descriptor_shorthand");
            result.AbbreviationEN = reader.GetString("abbreviation_en");

            return(result);
        }