Exemple #1
0
        private List<Parsing> OpenFile(string filename)
        {
            FilterWindow fw = new FilterWindow(filename, "done");
            fw.ShowDialog();
            if (fw.DialogResult != true)
            {
                return null; // пустой список
            }

            filter = fw.filter;
            
            doneXML = loadDoneXML(fw.filter.DoneDir);
            //showFilter(fw.filter, doneXML);

            // читаем весь файл за раз и помещаем в массив строк
            source = File.ReadAllLines(filename);

            // немного почистим список
            lines = checkLines();

            int n = 0;

            // пропускаем начало файла до значений
            while (lines[n].StartsWith("=") == false)
            {
                n++;
            }

            // обработка данных
            while (n != -1)
            {
                n = getNextItem(n);
            }

            current = list[0];
            return list;
        }
Exemple #2
0
        private List<Parsing> OpenFile(string filename)
        {
            FilterWindow fw = new FilterWindow(filename, "done");
            fw.ShowDialog();
            if (fw.DialogResult != true)
            {
                return null; // пустой список
            }

            filter = fw.filter;

            doneXML = loadDoneXML(fw.filter.DoneDir);
            //showFilter(fw.filter, doneXML);

            // читаем весь файл за раз и помещаем в массив строк
            source = File.ReadAllLines(filename);

            // немного почистим список
            lines = checkLines();

            int n = 0;

            // пропускаем начало файла до значений
            while (lines[n].StartsWith("=") == false)
            {
                n++;
            }

            // обработка данных
            while (n != -1)
            {
                n = getNextItem(n);
            }

            current = list[0];
            return list;
        }
Exemple #3
0
        private void menuOpen_Click(object sender, RoutedEventArgs e)
        {
            // сначала обновим справочники
            updateSprav();

            // потом загрузим сами данные
            if (!loadParsing())
            {
                MessageBox.Show("ошибка загрузки файла парсинга");
                return;
            }

            //MessageBox.Show("файл парсинга успешно загружен");

            spisokWindow sw = new spisokWindow(list, filter, doneXML);
            sw.ShowDialog();

            leftPanel.spisok = getIncluded(list);  // выбираем только отмеченых
            leftPanel.showParsing(0);
            leftPanel.ItemChanged += leftPanel_ItemChanged;

            if ((leftPanel.spisok == null) || (leftPanel.spisok.Count == 0))
            {
                lbStatus.Text = "нет записей для обработки";
                return;
            }

            Parsing prs = leftPanel.spisok[0];
            lbRki.Content = string.Format("РКИ № {0} ({1})", prs.Nomer, prs.Data);
            lbStatus.Text = string.Format("запись {0} из {1}", 1, leftPanel.spisok.Count);
            current = prs;
        }
Exemple #4
0
 void leftPanel_ItemChanged(object sender, RkiEventArgs e)
 {
     Parsing prs = e.Item;
     lbRki.Content = string.Format("РКИ № {0} ({1})", prs.Nomer, prs.Data);
     lbStatus.Text = string.Format("запись {0} из {1}", e.Current + 1, leftPanel.spisok.Count);
     currentNumber = e.Current;
     current = prs;
 }
Exemple #5
0
        // признаком окончания данных является -1
        private int getNextItem(int startPos)
        {
            int n = startPos;
            string preparat;
            string nomer;
            string data;
            string protokol;
            string producer;
            string pacient;
            string address;
            string forma = "";
            string duration;
            List<string> bases = new List<string>();

            Parsing prs = new Parsing();

            n++;
            string ss = lines[n];

            preparat = lines[n].Substring(27); // препарат
            n++;

            producer = lines[n].Substring(27); // фирма-производитель
            n++;

            nomer = lines[n].Substring(27); // номер исследования
            n++;

            data = lines[n].Substring(27); // дата исследование
            n++;

            protokol = lines[n].Substring(27); // протокол
            protokol = protokol.Trim().Replace("\"", "");

            n++;
            pacient = lines[n].Substring(27);

            n++;
            address = lines[n].Substring(27);

            n++;
            duration = lines[n].Substring(27);

            n++;
            // обработка баз
            while (lines[n].StartsWith("=") == false)
            {
                if (lines[n].Substring(12, 5) == "форма")
                {
                    forma = lines[n].Substring(21);
                }
                else
                {
                    bases.Add(lines[n].Substring(21));
                }

                n++;
                if (n == lines.Count)
                {
                    n = -1;  // конец обработки
                    break;
                }
            }

            prs.Included = true;
            prs.Nomer = nomer;
            prs.Data = data;
            prs.Preparat = preparat;
            prs.Producer = producer;
            prs.Protokol = protokol;
            prs.Pacient = pacient;
            prs.Address = address;
            prs.Duration = duration;
            prs.Forma = forma;
            prs.Bases = bases;
            list.Add(prs);

            return n;
        }
Exemple #6
0
 public RkiEventArgs(Parsing parsing, int current)
 {
     this.parsing = parsing;
     this.current = current;
 }
Exemple #7
0
        // признаком окончания данных является -1
        private int getNextItem(int startPos)
        {
            int n = startPos;
            string preparat;
            string nomer;
            string data;
            string protokol;
            string producer;
            string pacient;
            string address;
            string forma = "";
            string duration;
            List<string> bases = new List<string>();

            Parsing prs = new Parsing();

            n++;
            string ss = lines[n];

            preparat = lines[n].Substring(27); // препарат
            n++;

            producer = lines[n].Substring(27); // фирма-производитель
            n++;

            nomer = lines[n].Substring(27); // номер исследования
            n++;

            data = lines[n].Substring(27); // дата исследование
            n++;

            protokol = lines[n].Substring(27); // протокол
            protokol = protokol.Trim().Replace("\"", "");

            n++;
            pacient = lines[n].Substring(27);

            n++;
            address = lines[n].Substring(27);

            n++;
            duration = lines[n].Substring(27);

            n++;
            // обработка баз
            while (lines[n].StartsWith("=") == false)
            {
                if (lines[n].Substring(12, 5) == "форма")
                {
                    forma = lines[n].Substring(21);
                }
                else
                {
                    bases.Add(lines[n].Substring(21));
                }

                n++;
                if (n == lines.Count)
                {
                    n = -1;  // конец обработки
                    break;
                }
            }

            prs.Included = true;
            prs.Nomer = nomer;
            prs.Data = data;
            prs.Preparat = preparat;
            prs.Producer = producer;
            prs.Protokol = protokol;
            prs.Pacient = pacient;
            prs.Address = address;
            prs.Duration = duration;
            prs.Forma = forma;
            prs.Bases = bases;
            list.Add(prs);

            return n;

        }
Exemple #8
0
 public RkiEventArgs(Parsing parsing, int current)
 {
     this.parsing = parsing;
     this.current = current;
 }
Exemple #9
0
 private void btPrev_Click(object sender, RoutedEventArgs e)
 {
     //пред запись
     if (current > 0)
     {
         current--;
         Item = spisok[current];
         showParsing(current);
     }
 }
Exemple #10
0
 private void btNext_Click(object sender, RoutedEventArgs e)
 {
     //след запись
     current++;
     if (current < spisok.Count())
     {
         Item = spisok[current];
         showParsing(current);
     }
     else
     {
         MessageBox.Show("записей больше нет");
     }
 }