protected async void ButtonAccept_Clicked(object sender, EventArgs e)
        {
            JT_DailyTimeEntry newTimeEntry      = new JT_DailyTimeEntry();
            JT_Technician     currentTechnician = App.Database.GetCurrentTechnicianFromDb();

            newTimeEntry.DepartmentNo    = currentTechnician.TechnicianDeptNo;
            newTimeEntry.EmployeeNo      = currentTechnician.TechnicianNo;
            newTimeEntry.EndTime         = endTimePicker.Time.ToSage100TimeString();
            newTimeEntry.IsModified      = true;
            newTimeEntry.StartTime       = startTimePicker.Time.ToSage100TimeString();
            newTimeEntry.TransactionDate = transactionDatePicker.Date;
            newTimeEntry.WTNumber        = currentTechnician.CurrentWTNumber;
            newTimeEntry.WTStep          = currentTechnician.CurrentWTStep;
            newTimeEntry.EarningsCode    = earningCodeToDesc[earningCodePicker.Items[earningCodePicker.SelectedIndex]];

            _vm.DailyTimeEntry = newTimeEntry;
            _vm.SaveDailyTimeEntry(Convert.ToDouble(CalcHours()));

            await Navigation.PopAsync();
        }
        private void ButtonAccept_Clicked(object sender, RoutedEventArgs e)
        {
            JT_DailyTimeEntry newTimeEntry      = new JT_DailyTimeEntry();
            JT_Technician     currentTechnician = App.Database.GetCurrentTechnicianFromDb();

            if (earningCodePicker.SelectedIndex < 0)
            {
                var result = System.Windows.MessageBox.Show("Please select an earnings code before saving.", "Missing Earnings Code", MessageBoxButton.OK);
                return;
            }

            // dch rkl 02/03/2017 Validate Date
            DateTime dtTranDate;

            if (textTransactionDate.Text.Trim().Length == 0 || DateTime.TryParse(textTransactionDate.Text, out dtTranDate) == false)
            {
                var result = System.Windows.MessageBox.Show("Please enter a valid transaction date.", "Invalid Transaction Date", MessageBoxButton.OK);
                return;
            }

            // dch rkl 11/1/2016 use textbox instead of datetime picker for times BEGIN
            string startTime = "";
            string endTime   = "";
            double hours     = 0;

            if (_captureTimeInTimeTracker == "N")
            {
                // Enter Hours
                double iHours = 0;
                if (double.TryParse(durationTextCell.Text, out iHours) == false)
                {
                    var result = System.Windows.MessageBox.Show("Please enter valid hours before saving.", "Invalid Hours", MessageBoxButton.OK);
                    return;
                }
                else if (iHours <= 0 || iHours > 24)
                {
                    var result = System.Windows.MessageBox.Show("Please enter valid hours before saving.", "Invalid Hours", MessageBoxButton.OK);
                    return;
                }
                hours = iHours;
            }
            else
            {
                // Enter From and To Time
                DateTime dtStartTime;
                if (DateTime.TryParse(startTimeText.Text, out dtStartTime) == false)
                {
                    var result = System.Windows.MessageBox.Show("Please enter a valid start time before saving.", "Invalid Start Time", MessageBoxButton.OK);
                    return;
                }

                DateTime dtEndTime;
                if (DateTime.TryParse(endTimeText.Text, out dtEndTime) == false)
                {
                    var result = System.Windows.MessageBox.Show("Please enter a valid end time before saving.", "Invalid End Time", MessageBoxButton.OK);
                    return;
                }
                startTime = dtStartTime.TimeOfDay.ToSage100TimeString();
                endTime   = dtEndTime.TimeOfDay.ToSage100TimeString();
                hours     = Convert.ToDouble(CalcHours());
            }
            // dch rkl 11/1/2016 use textbox instead of datetime picker for times END

            newTimeEntry.DepartmentNo = currentTechnician.TechnicianDeptNo;
            newTimeEntry.EmployeeNo   = currentTechnician.TechnicianNo;
            // dch rkl 11/1/2016 use textbox instead of datetime picker for times BEGIN
            //newTimeEntry.EndTime = ((DateTime)endTimePicker.Value).TimeOfDay.ToSage100TimeString();
            newTimeEntry.EndTime = endTime;
            // dch rkl 11/1/2016 use textbox instead of datetime picker for times END

            newTimeEntry.IsModified = true;
            // dch rkl 11/1/2016 use textbox instead of datetime picker for times BEGIN
            //newTimeEntry.StartTime = ((DateTime)startTimePicker.Value).TimeOfDay.ToSage100TimeString();
            newTimeEntry.StartTime = startTime;
            // dch rkl 11/1/2016 use textbox instead of datetime picker for times END
            newTimeEntry.TransactionDate = dtTranDate;
            // dch rkl 01/23/2017 Do not include WT Number and WT Step for miscellaneous time.
            //newTimeEntry.WTNumber = currentTechnician.CurrentWTNumber;
            //newTimeEntry.WTStep = currentTechnician.CurrentWTStep;
            newTimeEntry.EarningsCode = earningCodePicker.SelectedValue.ToString();

            _vm.DailyTimeEntry = newTimeEntry;

            // dch rkl 11/04/2016 Hours calculated above, since they can be entered manually
            //_vm.SaveDailyTimeEntry(Convert.ToDouble(CalcHours()));
            _vm.SaveDailyTimeEntry(Convert.ToDouble(hours));

            // dch rkl 11/01/2016 confirmation that transaction was saved
            var result2 = System.Windows.MessageBox.Show("Miscellaneous Time Entry Saved.", "Entry Saved", MessageBoxButton.OK);

            ContentControl contentArea = (ContentControl)this.Parent;

            contentArea.Content = new MiscellaneousTimePage();
        }