示例#1
0
        private void Proceed_Click(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrWhiteSpace(_top[0]) || string.IsNullOrWhiteSpace(_middle[0]) ||
                string.IsNullOrWhiteSpace(_bottom[0]))
            {
                MessageBox.Show("Please, add all parts of the Telescope tool", "Message", MessageBoxButton.OK, MessageBoxImage.Asterisk);
                return;
            }

            var partsFiles = new Dictionary <string, PartFile>
            {
                {
                    "Top", new PartFile
                    {
                        File = _top[0],
                        Type = SmartToolPartType.Top
                    }
                },
                {
                    "Middle", new PartFile
                    {
                        File = _middle[0],
                        Type = SmartToolPartType.Middle
                    }
                },
                {
                    "Bottom", new PartFile
                    {
                        File = _bottom[0],
                        Type = SmartToolPartType.Bottom
                    }
                }
            };



            var client = new SmartToolClient(partsFiles, SmartToolType.Telescope);

            client.Run();

            var files = Directory.GetFiles($@"{System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)}\work", "*.xlsx");

            if (files.Length != 0)
            {
                XlsxCombiner.SessionStartTime = ApplicationPropetries.GetApplicationSessionStratTime();
                XlsxCombiner.CombineXlsxFilesFromWorkDir(files);
                MessageBox.Show("Task completed", "Message", MessageBoxButton.OK, MessageBoxImage.Asterisk);
                XlsxTotalFishingDiagramOpener.ShowTotalDiagram(XlsxCombiner.CombinedFile);
            }
            else
            {
                MessageBox.Show("Finished. No files were processed", "Message", MessageBoxButton.OK, MessageBoxImage.Asterisk);
            }

            foreach (var file in files)
            {
                File.Delete(file);
            }
        }
示例#2
0
        //Обработчик нажатия на кнопку [Обработать]
        private void Proceed_Click(object sender, RoutedEventArgs e)
        {
            //Если не выбран ни один файл, показываем сообщение и выходим из процедуры
            if (_files.Count == 0)
            {
                MessageBox.Show("No files have been selected", "Warning", MessageBoxButton.OK,
                                MessageBoxImage.Exclamation);
                return;
            }

            Proceed.IsEnabled = false;
            //Если не вышли на предыдущем шаге, то заполняем данные из полей на форме для формирования заголовка
            var headerData = new HeaderData
            {
                ClientField       = Client.Text,
                DateField         = Date.Text,
                DdEngineerField   = DdEngineer.Text,
                FieldPadWellField = FieldPadWell.Text,
                LocationField     = Location.Text
            };

            //Экземпляр класса Client запускает всю логику приложения, дальнейшая работа проходит в нём, можно смело открывать
            //файл Client.cs

            var client = new Client {
                Header = headerData, SessionStartTime = ApplicationPropetries.GetApplicationSessionStratTime()
            };

            foreach (var file in _files)
            {
                client.Run(file);
            }

            var files = Directory.GetFiles($@"{Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)}\work", "*.xlsx");

            if (files.Length != 0)
            {
                XlsxCombiner.SessionStartTime = ApplicationPropetries.GetApplicationSessionStratTime();
                XlsxCombiner.CombineXlsxFilesFromWorkDir(files);
                MessageBox.Show("Task completed", "Message", MessageBoxButton.OK, MessageBoxImage.Asterisk);
                XlsxTotalFishingDiagramOpener.ShowTotalDiagram(XlsxCombiner.CombinedFile);
            }
            else
            {
                MessageBox.Show("Finished. No files were processed", "Message", MessageBoxButton.OK, MessageBoxImage.Asterisk);
            }

            Proceed.IsEnabled = true;
            FileList.Clear();
            _files.Clear();

            foreach (var file in files)
            {
                File.Delete(file);
            }
        }