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; } }
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(); }
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; } }