public LDLBOBase CreateItem(string[] definition, string id)
        {
            LDLBalise balise = new LDLBalise(id);
            int       nLines = definition.GetUpperBound(0);

            for (int idx = 0; idx <= nLines; idx++)
            {
                if (definition[idx].Contains(baliseType))
                {
                    string bType = ParseItem(definition[idx]);
                    if (string.Compare("FIXED_DATA", bType) == 0)
                    {
                        balise.FixedData = true;
                    }
                    else
                    {
                        balise.FixedData = false;
                    }
                }
                else if (definition[idx].Contains(isDuplicated))
                {
                    balise.DuplicateType = (BaliseDuplicateStatus)Enum.Parse(typeof(BaliseDuplicateStatus), ParseItem(definition[idx]));
                }
                else if (definition[idx].Contains(LDLMLocation.Identifier))
                {
                    balise.Location = LDLMLocation.CreateFromCompleteLine(definition[idx]);
                }
            }
            return(balise);
        }
示例#2
0
        public static LDLMLocation CreateFromCompleteLine(string line)
        {
            LDLMLocation result = new LDLMLocation();
            int          start  = line.IndexOf(OpenBracket);
            int          end    = line.IndexOf(CloseBracket);
            string       def    = line.Substring(start + 1, (end - start) - 1);

            string[] parts = def.Split(LDLSeperators.MEASUREMENT_SEPERATOR);
            result.TrackStr = parts[0].Replace("\"", "").Replace("(", "").Trim();
            result.Distance = decimal.Parse(parts[1].Trim());
            return(result);
        }
        public LDLBOBase CreateItem(string[] definition, string id)
        {
            LDLTrackCircuitJoin toPopulate = new LDLTrackCircuitJoin(id);
            int nLines = definition.GetUpperBound(0);

            int tcID = 0;

            for (int i = 0; i <= nLines; i++)
            {
                if (definition[i].Contains(LDLTrackCircuit.Identitifier))
                {
                    toPopulate.JoinedCircuitStrs[tcID++] = ParseItem(definition[i]);
                }
                else if (definition[i].Contains(LDLMLocation.Identifier))
                {
                    toPopulate.Location = LDLMLocation.CreateFromCompleteLine(definition[i]);
                }
            }
            return(toPopulate);
        }