Ejemplo n.º 1
0
        public static List <ConfigValues> OpenFile_Click(string fileToOpen)
        {
            // Regex för att hitta alla rader med prefixet Btn men som inte följs av en siffra (och således inte ska visas i textboxarna)
            string reg = @"Btn(?=)\d";

            if (fileToOpen.IsNullOrWhiteSpace() || fileToOpen == "undefined.txt")
            {
                lists.Clear();
                return(lists);
            }
            else
            {
                try
                {
                    linesInDoc.Clear();
                    unFilteredLinesInDoc.Clear();
                    fileName = fileToOpen;

                    using (StreamReader reader = new StreamReader(truckPath + "\\" + fileToOpen))
                    {
                        string line;
                        while ((line = reader.ReadLine()) != null)
                        {
                            if (!string.IsNullOrEmpty(line) && (line.StartsWith("Btn") || line.StartsWith("Status")))
                            {
                                Match match = Regex.Match(line, reg);

                                if (line.StartsWith("StatusBtnColor"))
                                {
                                    unFilteredLinesInDoc.Add(line);
                                }
                                else if (line.StartsWith("Status"))
                                {
                                    linesInDoc.Add(line);
                                    var data = ButtonData.Parse(line);
                                    if (data != null)
                                    {
                                        _linesInDoc.Add(data);
                                    }
                                }
                                else if (!match.Success)
                                {
                                    unFilteredLinesInDoc.Add(line);
                                }
                                else
                                {
                                    linesInDoc.Add(line);
                                    var data = ButtonData.Parse(line);
                                    if (data != null)
                                    {
                                        _linesInDoc.Add(data);
                                    }
                                }
                            }
                            else
                            {
                                if (!string.IsNullOrEmpty(line))
                                {
                                    unFilteredLinesInDoc.Add(line);
                                }
                            }
                        }
                    }

                    listObject.statusList.Clear();
                    listObject.tgList.Clear();
                    listObject.portList.Clear();
                    listObject.shortList.Clear();
                    listObject.linkList.Clear();
                    listObject.quickList.Clear();
                    lists.Clear();

                    ExtractStatusInfo();
                    ExtractTgInfo();
                    ExtractPortInfo();
                    ExtractKortNRInfo();
                    ExtractUrlInfo();
                    ExtractQuickButtonInfo();
                    ExtractName();
                    lists.Add(listObject);

                    return(lists);
                }
                catch (Exception ex)
                {
                    _logger.Error(ex.ToString());
                    return(lists);
                }
            }
        }