public ABCtrialWindow(ABCSessionModel abcSessionModel)
        {
            InitializeComponent();
            _abcSessionModel = abcSessionModel;

            LoadCurrentTrialDetails(abcSessionModel);
        }
        private void DisplaytrialsWindow(int rowNumber)
        {
            _abcSession             = SessionGrid.Items.GetItemAt(rowNumber) as ABCSessionModel;
            _abcSession.TrialNumber = rowNumber + 1;
            Window window = new Window
            {
                Title   = "ABC trials Window",
                Content = new ABCtrialWindow(_abcSessionList[rowNumber])
            };

            window.SizeToContent         = SizeToContent.WidthAndHeight;
            window.ResizeMode            = ResizeMode.NoResize;
            window.Background            = Brushes.CadetBlue;
            window.WindowStartupLocation = WindowStartupLocation.CenterScreen;

            if (window.ShowDialog() == true)
            {
                _abcSession.Reference       = GetFileNameFromPath(_abcSessionList[rowNumber].Reference);
                _abcSession.Sample          = GetFileNameFromPath(_abcSessionList[rowNumber].Sample);
                _abcSession.HiddenReference = _abcSessionList[rowNumber].HiddenReference;
                _abcSession.TrialName       = _abcSessionList[rowNumber].TrialName;

                DataContext = _abcSession;
            }
        }
        private void DataGridRow_Enter(object sender, System.Windows.Input.MouseEventArgs e)
        {
            var currentRow = sender as DataGridRow;

            if (currentRow == null)
            {
                return;
            }
            var currentRowIndex = currentRow.GetIndex();

            if (_dropContentFlag)
            {
                //var currentRow = sender as DataGridRow;
                if (currentRow == null)
                {
                    return;
                }
                currentRowIndex = currentRow.GetIndex();
                _abcSession     = SessionGrid.Items.GetItemAt(currentRowIndex) as ABCSessionModel;
                if (_abcSession.TrialName == "")
                {
                    _abcSession.TrialName = string.Format("Trial{0}", currentRowIndex + 1);
                }
                if (_abcSession.HiddenReference == "")
                {
                    _abcSession.HiddenReference = "B";
                }
                FillDataFromGridToSession(currentRowIndex);
                _dropContentFlag = false;
            }
            else
            {
                //this.MouseEnter -= DataGridRow_Enter;
                e.Handled = true;
            }

            //OCT-05-2018 code
            var value = "";

            if (_datagridColumnIndex == 1)
            {
                value = _abcSessionList[currentRowIndex].Reference;
            }
            if (_datagridColumnIndex == 2)
            {
                value = _abcSessionList[currentRowIndex].Sample;
            }
            //
            //var value = ((TextBlock)currentObject).Text;
            if (value != "")
            {
                ToolTipService.SetToolTip(_dataGridCurrentCell, new System.Windows.Controls.ToolTip {
                    Content = value
                });
            }
        }
        private void InitializeEditOrOpenSession()
        {
            if (_fileName != "")
            {
                OpenMItem.IsEnabled = true;
                OpenFile.IsEnabled  = true;
                SaveBtn.IsEnabled   = true;

                var existingTrails = 0;

                _abcSessionList = _abcModelList.trials.ToList();

                _abcModelList.trials.All(abcSessObj =>
                {
                    var tempAbcSessionObj = new ABCSessionModel();

                    tempAbcSessionObj.Reference       = GetFileNameFromPath(abcSessObj.Reference);
                    tempAbcSessionObj.Sample          = GetFileNameFromPath(abcSessObj.Sample);
                    tempAbcSessionObj.TrialName       = abcSessObj.TrialName;
                    tempAbcSessionObj.TrialNumber     = abcSessObj.TrialNumber;
                    tempAbcSessionObj.HiddenReference = abcSessObj.HiddenReference;
                    SessionGrid.Items.Add(tempAbcSessionObj);
                    existingTrails++;
                    return(true);
                });

                _trialNumber      = existingTrails;
                filesWithFullPath = _mediaPool.ToList();
                MediaPool.Items?.Clear();

                _mediaPool.All(items =>
                {
                    MediaPool.Items.Add(GetFileNameFromPath(items));
                    return(true);
                });
                ScaleList.SelectedIndex = _abcModelList.Index;
            }
            else
            {
                OpenMItem.IsEnabled = false;
                OpenFile.IsEnabled  = false;

                SessionGrid.Items.Clear();
                MediaPool.Items.Clear();
                _trialNumber = 0;
            }
            _prevtrialNumber = _trialNumber;
            //this.MouseEnter -= DataGridRow_Enter;
        }
        private void LoadCurrentTrialDetails(ABCSessionModel abcSessionModel)
        {
            trialNumberText.Text = abcSessionModel.TrialNumber.ToString();

            trialNameText.Text = abcSessionModel.TrialName;

            RefFile.Text    = abcSessionModel.Reference;
            SampleFile.Text = abcSessionModel.Sample;
            if (abcSessionModel.HiddenReference == "B" || abcSessionModel.HiddenReference == "")
            {
                BButton.IsChecked = true;
            }
            else
            {
                CButton.IsChecked = true;
            }
        }
        private void AddSessionToList()
        {
            _abcSession = new ABCSessionModel();

            if (_abcSession == null)
            {
                throw new NullReferenceException("The ABC Session ViewModel is not initialized!!!!");
            }

            FlushSessionValues();
            _abcSessionList.Add(new ABCSessionModel {
                TrialNumber = _trialNumber
            });

            _abcSession.TrialNumber = _trialNumber;
            SessionGrid.Items.Add(_abcSession);
        }
        private void DeleteSessionFromList()
        {
            var trialCount = SessionGrid.Items.Count;

            if (trialCount == 0)
            {
                return;
            }
            _abcSession = SessionGrid.Items.GetItemAt(trialCount - 1) as ABCSessionModel;

            if (!_deleteSelectedRow)
            {
                //var trialCount = SessionGrid.Items.Count;
                if (trialCount > 0)
                {
                    // _abcSession = SessionGrid.Items.GetItemAt(trialCount - 1) as ABCSessionModel;
                    SessionGrid.Items.Remove(_abcSession);
                    _abcSessionList.Remove(_abcSessionList.Where(item => item.TrialNumber == _abcSession.TrialNumber).FirstOrDefault());
                }
            }
            else
            {
                var list = (SessionGrid.SelectedItems.Cast <ABCSessionModel>().Select(sess => sess)).ToList();
                _abcSessionObjectToDelete.ToList().ForEach(abcSessObj =>
                {
                    SessionGrid.Items.Remove(abcSessObj);
                    _abcSessionList.Remove(_abcSessionList.Where(item => item.TrialNumber == abcSessObj.TrialNumber).FirstOrDefault());
                });

                if (list.Count > 0)
                {
                    list.ForEach(sessObj =>
                    {
                        SessionGrid.Items.Remove(sessObj);
                        _abcSessionList.Remove(_abcSessionList.Where(item => item.TrialNumber == sessObj.TrialNumber).FirstOrDefault());
                    });
                }
            }
            ReEnumerateTrials();
            _deleteSelectedRow = false;
        }