private void createTask(enTaskType type)
        {
            saveCaretPosition();
            string selectedLineText = getSelectedLineText();

            System.Text.RegularExpressions.Match match = FindActionItemPatternInText(selectedLineText);
            if (match.Captures.Count > 0)
            {
                MessageBox.Show(string.Format("This line is already attached with Action Item: '{0}'", match.ToString()), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }


            StartOfLineCommand startOfLineCommand = new StartOfLineCommand(richEditControl1);

            startOfLineCommand.Execute();
            DocumentPosition beginOfLine = richEditControl1.Document.CaretPosition;

            if (_parentForm.isTaskListDirty())
            {
                _parentForm.save(false);
            }

            //create task
            TaskForm newTaskForm = new TaskForm(_parentForm, new Tasks()
            {
                taskName = selectedLineText.Substring(0, Math.Min(128, selectedLineText.Length)), remarks = selectedLineText, updateRequester = false, projectID = Guid.Parse("00000000-0000-0000-0000-000000000000"), requesterID = Guid.Parse("00000000-0000-0000-0000-000000000000")
            }, formMode.add, type);

            _parentForm.openTaskForm(newTaskForm);

            if (newTaskForm.DialogResult == DialogResult.OK)
            {
                using (new Splash(this.Parent as Form))
                {
                    using (var model = new DocumentModel())
                    {
                        string aiCaption = addActionItemText(beginOfLine, newTaskForm._task.ID, newTaskForm._task.getUserName(), newTaskForm._task.dueDate);
                        startOfLineCommand.Execute();     //Go back to begining of line and make the inserted text as hyperlink
                        ChangeTextToHyperlink(aiCaption, newTaskForm._task.ID);
                        SaveMeetingRTF();
                    }
                    syncActionItems();
                }
            }
        }
Ejemplo n.º 2
0
        public TaskForm(frmMain parentForm, Tasks task, formMode mode, enTaskType taskType)
        {
            _mode     = mode; _task = task; _parentForm = parentForm;
            _taskType = taskType;
            InitializeComponent();
            _userId = _parentForm.GetSelectedUserID();

            this.DialogResult = DialogResult.None;

            cmbRequester1.Properties.ValueMember   = "ID";
            cmbRequester1.Properties.DisplayMember = "userName";
            cmbRequester1.Properties.Columns.Add(new LookUpColumnInfo("userName", 80));
            cmbRequester1.Properties.DataSource = new BindingList <Users>(frmMain.usersList);

            cmbAssignedTo.Properties.ValueMember   = "ID";
            cmbAssignedTo.Properties.DisplayMember = "userName";
            cmbAssignedTo.Properties.Columns.Add(new LookUpColumnInfo("userName", 80));
            cmbAssignedTo.Properties.DataSource = frmMain.usersList;
            cmbAssignedTo.EditValue             = task.userID;


            cmbImportance.Properties.ValueMember   = "ID";
            cmbImportance.Properties.DisplayMember = "Name";
            cmbImportance.Properties.Columns.Add(new LookUpColumnInfo("Name", 80));
            cmbImportance.Properties.DataSource = frmMain.importanceList;
            cmbImportance.EditValue             = enTaskImportance.Low;

            cmbProject1.Properties.ValueMember   = "ID";
            cmbProject1.Properties.DisplayMember = "projectName";
            cmbProject1.Properties.Columns.Add(new LookUpColumnInfo("projectName", 80));
            cmbProject1.Properties.DataSource = frmMain.ProjectList;

            if (_task.taskName != null)
            {
                txtName.Text = _task.taskName;
            }
            if (_task.actualWorkHours != null)
            {
                txtActualWork1.Text = _task.actualWorkHours.Value.ToString();
            }
            if (_task.completionPercentage != null)
            {
                txtCompletedPercent1.Text = _task.completionPercentage.Value.ToString();
            }
            if (_task.defectNumber != null)
            {
                txtDefectNum1.Text = _task.defectNumber;
            }
            if (_task.estimatedWorkHours != null)
            {
                txtEstimatedHours1.Text = _task.estimatedWorkHours.Value.ToString();
            }
            if (_task.dueDate != null)
            {
                dtmDueDate1.EditValue = _task.dueDate.Value;
            }


            cmbProject1.EditValue   = null;
            cmbImportance.EditValue = _task.Importance;

            if (_task.projectID != null)
            {
                cmbProject1.EditValue = _task.projectID.Value;
            }
            if (_task.requesterID != null && _task.requesterID != Guid.Parse("00000000-0000-0000-0000-000000000000"))
            {
                cmbRequester1.EditValue = _task.requesterID.Value;
            }
            else
            {
                cmbRequester1.EditValue = frmMain.loggedInUserID;
            }

            if (_task.remarks != null)
            {
                txtRemarks.Text = _task.remarks;
            }

            _task.StartTracking();

            if (_parentForm.isMeetingTasksMode)
            {
                if (taskType == enTaskType.ActionItem)
                {
                    showAssignedToControl(true);
                }
                else
                {
                    showAssignedToControl(false);
                    _task.taskType = (int)taskType;
                }
            }
            else
            {
                showAssignedToControl(false);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// ctor used to update existing task
        /// </summary>
        /// <param name="task"></param>
        public TaskForm(NewPrioritizer parentForm, Tasks task, formMode mode, enTaskType taskType)
        {
            _mode     = mode; _task = task; _parentForm = parentForm;
            _taskType = taskType;
            InitializeComponent();
            radioFirstPriority1.IsChecked = true;
            _userId = Guid.Parse(_parentForm.cboUsers1.SelectedValue.ToString());

            this.DialogResult = DialogResult.None;

            cmbRequester1.ValueMember   = "ID";
            cmbRequester1.DisplayMember = "Username";
            FilterDescriptor filterRequester = new FilterDescriptor();

            filterRequester.PropertyName = this.cmbRequester1.DisplayMember;
            filterRequester.Operator     = FilterOperator.Contains;
            cmbRequester1.EditorControl.MasterTemplate.FilterDescriptors.Add(filterRequester);
            cmbRequester1.DataSource = new BindingList <Users>(NewPrioritizer.usersList);
            cmbRequester1.MultiColumnComboBoxElement.Columns.ToList().ForEach(a => a.IsVisible = false);// ["sql"].IsVisible = false;
            cmbRequester1.MultiColumnComboBoxElement.Columns["userName"].IsVisible             = true;
            cmbRequester1.MultiColumnComboBoxElement.Columns["userName"].Width = 150;

            cmbAssignedTo.ValueMember   = "ID";
            cmbAssignedTo.DisplayMember = "Username";
            FilterDescriptor filterUsers = new FilterDescriptor();

            filterUsers.PropertyName = this.cmbAssignedTo.DisplayMember;
            filterUsers.Operator     = FilterOperator.Contains;
            cmbAssignedTo.EditorControl.MasterTemplate.FilterDescriptors.Add(filterUsers);
            cmbAssignedTo.DataSource = NewPrioritizer.usersList;
            cmbAssignedTo.MultiColumnComboBoxElement.Columns.ToList().ForEach(a => a.IsVisible = false);// ["sql"].IsVisible = false;
            cmbAssignedTo.MultiColumnComboBoxElement.Columns["userName"].IsVisible             = true;
            cmbAssignedTo.MultiColumnComboBoxElement.Columns["userName"].Width = 150;
            cmbAssignedTo.SelectedValue = task.userID;

            cmbProject1.ValueMember   = "ID";
            cmbProject1.DisplayMember = "projectName";
            cmbProject1.DataSource    = NewPrioritizer.ProjectList;

            if (_task.taskName != null)
            {
                name.Text = _task.taskName;
            }
            if (_task.actualWorkHours != null)
            {
                txtActualWork1.Text = _task.actualWorkHours.Value.ToString();
            }
            if (_task.completionPercentage != null)
            {
                txtCompletedPercent1.Text = _task.completionPercentage.Value.ToString();
            }
            if (_task.defectNumber != null)
            {
                txtDefectNum1.Text = _task.defectNumber;
            }
            if (_task.estimatedWorkHours != null)
            {
                txtEstimatedHours1.Text = _task.estimatedWorkHours.Value.ToString();
            }
            if (_task.dueDate != null)
            {
                dtmDueDate1.Value = _task.dueDate.Value;
            }

            cmbProject1.SelectedValue = null;
            if (_task.projectID != null)
            {
                cmbProject1.SelectedValue = _task.projectID.Value;
            }
            //cmbRequester1.SelectedValue = null;
            cmbAssignedTo.SelectedValue = null;
            if (_task.requesterID != null && _task.requesterID != Guid.Parse("00000000-0000-0000-0000-000000000000"))
            {
                cmbRequester1.SelectedValue = _task.requesterID.Value;
            }
            else
            {
                cmbRequester1.SelectedValue = NewPrioritizer.loggedInUserID;
            }

            if (_task.remarks != null)
            {
                txtRemarks.Text = _task.remarks;
            }

            _task.StartTracking();

            if (_parentForm.isMeetingTasksMode)
            {
                if (taskType == enTaskType.ActionItem)
                {
                    showAssignedToControl(true);
                }
                else
                {
                    showAssignedToControl(false);
                }
            }
            else
            {
                showAssignedToControl(false);
            }
        }