/// <summary>
        /// Вернет фильтр для получения данных.
        /// </summary>
        /// <returns>Фильтр.</returns>
        private PressOperationDataFilter GetPressOperationDataFilter()
        {
            PressOperationDataFilter filter = new PressOperationDataFilter();

            filter.Press = this.SelectedPress;

            filter.From = this.From;

            filter.To = this.To;

            return(filter);
        }
        /// <summary>
        /// Обновляет данные в графике.
        /// </summary>
        private void RefreshChartData()
        {
            PressOperationDataFilter filter = this.GetPressOperationDataFilter();

            List <PressOperationData> data = this._pressService.GetPressOperationData(filter);

            if (SelectedPressData != null)
            {
                data = data.Where(d => d.UniqueID == SelectedPressData.UniqueId).ToList();

                RefreshCharts(data);
            }
        }
        public void OnCreateReportCommand(object obj)
        {
            if (this._selectedPress == null)
            {
                MessageBox.Show("Необходимо выберать пресс");
                return;
            }
            PressOperationDataFilter filter = this.GetPressOperationDataFilter();

            List <PressOperationData> data = this._pressService.GetPressOperationData(filter);

            Excel.Application excelApp = new Excel.Application();

            // Сделать приложение Excel видимым
            //excelApp.Visible = true;
            excelApp.Workbooks.Add();
            Excel._Worksheet workSheet = excelApp.ActiveSheet;
            // Установить заголовки столбцов в ячейках

            workSheet.Cells[1, "A"] = "Дата/Время";
            workSheet.Cells[1, "B"] = "Уставка Высоты";
            workSheet.Cells[1, "C"] = "Высота";
            workSheet.Cells[1, "D"] = "Уставка Усилия";
            workSheet.Cells[1, "E"] = "Усилие";
            workSheet.Cells[1, "F"] = "Уставка скорости";
            workSheet.Cells[1, "G"] = "Скорость";
            workSheet.Cells[1, "H"] = "Температура";

            for (int i = 0; i < data.Count; i++)
            {
                workSheet.Cells[i + 2, "A"] = data[i].DateInsert.ToString();
                workSheet.Cells[i + 2, "B"] = data[i].PositionSP.ToString();
                workSheet.Cells[i + 2, "C"] = data[i].Position.ToString();
                workSheet.Cells[i + 2, "D"] = data[i].PowerSP.ToString();
                workSheet.Cells[i + 2, "E"] = data[i].Power.ToString();
                workSheet.Cells[i + 2, "F"] = data[i].SpeedSP.ToString();
                workSheet.Cells[i + 2, "G"] = data[i].Speed.ToString();
                workSheet.Cells[i + 2, "H"] = data[i].Temperature.ToString();
            }
            //" + DateTime.Now.ToString() + "
            string folder   = ConfigurationManager.AppSettings["ReportFolder"];
            string savePath = @folder + @"report" + @DateTime.Now.ToString("MM-dd-yy") + @".xlsx";

            workSheet.SaveAs(savePath);

            //workSheet.Clo
        }
        /// <summary>
        /// Обновляет данные в графике.
        /// </summary>
        private void RefreshPressData()
        {
            PressOperationDataFilter filter = this.GetPressOperationDataFilter();

            List <PressOperationData> data = this._pressService.GetPressOperationData(filter);


            this.PressDataSelected = new ObservableCollection <PressDataSelected>();
            foreach (PressOperationData item in data)
            {
                if (!PressDataSelected.Any() || !PressDataSelected.Any(pd => pd.UniqueId == item.UniqueID))
                {
                    PressDataSelected PressDataSelectedItem = new PressDataSelected();
                    PressDataSelectedItem.Id         = item.Id;
                    PressDataSelectedItem.UniqueId   = item.UniqueID;
                    PressDataSelectedItem.DateInsert = item.DateInsert.ToString();
                    PressDataSelected.Add(PressDataSelectedItem);
                }
            }
            this.OnPropertyChanged("PressDataSelected");
        }