Esempio n. 1
0
        private void cbxTasks_SelectedIndexChanged(object sender, EventArgs e)
        {
            bool performChange = false;

            if (m_isInSetupMode)
            {
                performChange = true;
            }
            else
            {
                //check if we were updating a different one, if we confirmed
                performChange = m_lastTimeEntry == null || m_lastTimeEntry.TimeEntryId == Guid.Empty || ChangeEntry(true, true);
            }

            if (!performChange)
            {
                //put the project and task back to how they were
                m_isInSetupMode = true;
                Project currProj = m_lastTimeEntry == null || m_lastTimeEntry.TimeEntryId == Guid.Empty ? null : OperationsReadOnly.GetProjectForUser(m_lastTimeEntry.ProjectId, m_currUser.UserId);
                Task    currTask = m_lastTimeEntry == null || m_lastTimeEntry.TimeEntryId == Guid.Empty ? null : OperationsReadOnly.GetTaskById(m_lastTimeEntry.TaskId, m_lastTimeEntry.ProjectId, m_currUser.UserId);
                SetupProjectAndTasks(currProj, currTask);
                m_isInSetupMode = false;
            }
        }
Esempio n. 2
0
        public void PopulateScreen(User usr, TimeEntry lastTimeEntry, bool remindersOn, int reminderMilliseconds)
        {
            //indicate we are setting up the screen
            m_isInSetupMode = true;

            m_currUser             = usr;
            m_lastTimeEntry        = lastTimeEntry;
            m_reminderMilliseconds = reminderMilliseconds;

            if (lastTimeEntry == null)
            {
                //change enabled status
                chkNothing.Checked = true;
                pnlEntry.Enabled   = false;
                chkNothing.Image   = global::TRec.Windows.UI.Properties.Resources.stopwatch_on;

                dtpStart.Visible = false;
            }
            else
            {
                if (!m_isInSetupMode)
                {
                    chkNothing.Checked = false;
                }
                pnlEntry.Enabled = true;
                chkNothing.Image = global::TRec.Windows.UI.Properties.Resources.stopwatch_off;

                dtpStart.Visible = true;
            }

            //ensure we are back to an empty state for consistency
            ResetScreen();

            //populate & default drop downs
            Project currProj = m_lastTimeEntry == null ? null : OperationsReadOnly.GetProjectForUser(m_lastTimeEntry.ProjectId, m_currUser.UserId);
            Task    currTask = m_lastTimeEntry == null ? null : OperationsReadOnly.GetTaskById(m_lastTimeEntry.TaskId, m_lastTimeEntry.ProjectId, m_currUser.UserId);

            SetupProjectAndTasks(currProj, currTask);

            dtpStart.Value = lastTimeEntry == null?OperationsReadOnly.RoundToMinute(DateTime.Now) : lastTimeEntry.StartDateTime;

            //if the start date is future, add 1 minute to that, otherwise add one minute to now
            DateTime greaterDate = dtpStart.Value > DateTime.Now ? dtpStart.Value : DateTime.Now;

            dtpEnd.Value = OperationsReadOnly.RoundToMinute(greaterDate.AddMinutes(1));

            txtDetails.Text = lastTimeEntry == null ? string.Empty : lastTimeEntry.Details;
            nudExc1.Value   = lastTimeEntry == null ? 0 : lastTimeEntry.ExceptionMinutes;
            txtExc1.Text    = lastTimeEntry == null ? string.Empty : lastTimeEntry.ExceptionDetails;

            AreRemindersOn = remindersOn;
            ToggleReminders();

            SetupGrid();

            //reset the last preferred reminder
            if (reminderMilliseconds != 0)
            {
                nudInterval.Value = reminderMilliseconds / 1000 / 60;
            }

            //indicate we have finished setting up the screen
            m_isInSetupMode = false;

            SetupBottomLink();
            SetupGoals();
        }
Esempio n. 3
0
        private void cbxProjects_SelectedIndexChanged(object sender, EventArgs e)
        {
            bool performChange = false;

            if (m_isInSetupMode)
            {
                performChange = true;
            }
            else
            {
                //check if we were updating a different one, if we confirmed
                performChange = m_lastTimeEntry == null || m_lastTimeEntry.TimeEntryId == Guid.Empty || ChangeEntry(true, false);
            }

            if (performChange)
            {
                cbxTasks.Items.Clear();
                cbxTasks.SelectedItem = null;
                if (SelectedProject != null)
                {
                    List <Task> tsks = OperationsReadOnly.GetTasksForProjectAndUser(SelectedProject.Id, m_currUser.UserId, true);
                    cbxTasks.Items.AddRange(tsks.ToArray());
                }

                //detault to first task if there is one and one is not selected
                if (cbxTasks.Items.Count > 0 && cbxTasks.SelectedIndex < 0)
                {
                    //default to first task as per issue 2884
                    cbxTasks.SelectedIndex = 0;
                }
            }
            else
            {
                //put the project and task back to how they were
                m_isInSetupMode = true;
                Project currProj = m_lastTimeEntry == null || m_lastTimeEntry.TimeEntryId == Guid.Empty ? null : OperationsReadOnly.GetProjectForUser(m_lastTimeEntry.ProjectId, m_currUser.UserId);
                Task    currTask = m_lastTimeEntry == null || m_lastTimeEntry.TimeEntryId == Guid.Empty ? null : OperationsReadOnly.GetTaskById(m_lastTimeEntry.TaskId, m_lastTimeEntry.ProjectId, m_currUser.UserId);
                SetupProjectAndTasks(currProj, currTask);
                m_isInSetupMode = false;
            }
        }