예제 #1
0
            internal void SaveDataToFile()
            {
                IBaseDao dao;
                var      saveFileDialog = new SaveFileDialog
                {
                    Filter = "XML|*.xml|CSV|*.csv",
                    Title  = "Save numeric data"
                };

                saveFileDialog.ShowDialog();
                if (saveFileDialog.FileName != "")
                {
                    switch (saveFileDialog.FilterIndex)
                    {
                    case 1:
                        dao = new XmlDao();
                        dao.SerializeToFile(saveFileDialog.FileName, _dates);
                        break;

                    case 2:
                        dao = new CsvDao();
                        dao.SerializeToFile(saveFileDialog.FileName, _dataTable);
                        break;
                    }
                }
            }
예제 #2
0
            internal void LoadDataFromFile()
            {
                IBaseDao dao;

                _dataTable = new WorkoutDataTable();

                OpenFileDialog openFileDialog = new OpenFileDialog
                {
                    Filter = "XML|*.xml|CSV|*.csv",
                    Title  = "Select data file"
                };

                if (openFileDialog.ShowDialog() == DialogResult.OK)
                {
                    switch (openFileDialog.FilterIndex)
                    {
                    case 1:
                        dao    = new XmlDao();
                        _dates = dao.DeserializeToObject <List <DateDto> >(openFileDialog.FileName);
                        EraseDataTable();
                        if (IsDataCorrect())
                        {
                            FillDataTable();
                        }
                        break;

                    case 2:
                        dao            = new CsvDao();
                        _dataTable     = dao.DeserializeToObject <WorkoutDataTable>(openFileDialog.FileName);
                        _bindingSource = new BindingSource();
                        _dates         = new List <DateDto>();
                        UpdateDatesFromDataTable();
                        if (_dates.Count != 0)
                        {
                            _parent.dataGridView.DataSource = _bindingSource.DataSource = _dataTable;
                            _dataGridView.RowHeadersVisible = true;
                            _dataGridView.RowHeadersWidth   = 100;
                        }
                        else
                        {
                            _dates = new List <DateDto>();
                        }

                        break;
                    }
                }
            }