示例#1
0
    /// <summary>
    /// Creates project task. Called when the "Create task" button is pressed.
    /// </summary>
    private bool CreateProjectTask()
    {
        ProjectInfo             project  = ProjectInfoProvider.GetProjectInfo("MyNewProject", SiteContext.CurrentSiteID, 0);
        ProjectTaskStatusInfo   status   = ProjectTaskStatusInfoProvider.GetProjectTaskStatusInfo("NotStarted");
        ProjectTaskPriorityInfo priority = ProjectTaskPriorityInfoProvider.GetProjectTaskPriorityInfo("Normal");

        if ((project != null) && (status != null) && (priority != null))
        {
            // Create new project task object
            ProjectTaskInfo newTask = new ProjectTaskInfo();

            int currentUserID = MembershipContext.AuthenticatedUser.UserID;

            // Set the properties
            newTask.ProjectTaskDisplayName      = "My new task";
            newTask.ProjectTaskCreatedByID      = currentUserID;
            newTask.ProjectTaskOwnerID          = currentUserID;
            newTask.ProjectTaskAssignedToUserID = currentUserID;
            newTask.ProjectTaskStatusID         = status.TaskStatusID;
            newTask.ProjectTaskPriorityID       = priority.TaskPriorityID;
            newTask.ProjectTaskProjectID        = project.ProjectID;

            // Save the project task
            ProjectTaskInfoProvider.SetProjectTaskInfo(newTask);

            return(true);
        }
        return(false);
    }
示例#2
0
    /// <summary>
    /// Validates the form. If validation succeeds returns true, otherwise returns false.
    /// </summary>
    private bool Validate()
    {
        string codename = this.txtTaskPriorityName.Text.Trim();

        // Validate required fields
        string errorMessage = new Validator()
                              .NotEmpty(this.txtTaskPriorityDisplayName.Text.Trim(), this.rfvTaskPriorityDisplayName.ErrorMessage)
                              .NotEmpty(codename, this.rfvTaskPriorityName.ErrorMessage)
                              .IsCodeName(codename, GetString("general.invalidcodename")).Result;

        // Check the uniqueness of the codename
        ProjectTaskPriorityInfo ptpi = ProjectTaskPriorityInfoProvider.GetProjectTaskPriorityInfo(codename);

        if ((ptpi != null) && (ptpi.TaskPriorityID != this.TaskPriorityID))
        {
            errorMessage = GetString("general.codenameexists");
        }

        // Set the error message
        if (!String.IsNullOrEmpty(errorMessage))
        {
            this.lblError.Text = errorMessage;
            return(false);
        }

        return(true);
    }
示例#3
0
    /// <summary>
    // Processes the form - saves the data.
    /// </summary>
    private void Process()
    {
        // Validate the form
        if (Validate())
        {
            // Ensure the info object
            if (this.ProjecttaskpriorityObj == null)
            {
                this.ProjecttaskpriorityObj = new ProjectTaskPriorityInfo();
                this.ProjecttaskpriorityObj.TaskPriorityOrder = ProjectTaskPriorityInfoProvider.GetPriorityCount(false) + 1;
            }

            // Initialize object
            this.ProjecttaskpriorityObj.TaskPriorityName        = this.txtTaskPriorityName.Text.Trim();
            this.ProjecttaskpriorityObj.TaskPriorityDisplayName = this.txtTaskPriorityDisplayName.Text.Trim();
            this.ProjecttaskpriorityObj.TaskPriorityEnabled     = this.chkTaskPriorityEnabled.Checked;
            this.ProjecttaskpriorityObj.TaskPriorityDefault     = this.chkTaskPriorityDefault.Checked;

            // Save object data to database
            ProjectTaskPriorityInfoProvider.SetProjectTaskPriorityInfo(this.ProjecttaskpriorityObj);

            this.ItemID = this.ProjecttaskpriorityObj.TaskPriorityID;
            this.RaiseOnSaved();

            // Set the info message
            this.lblInfo.Text = GetString("general.changessaved");
        }
    }
示例#4
0
    /// <summary>
    // Processes the form - saves the data.
    /// </summary>
    private void Process()
    {
        // Validate the form
        if (Validate())
        {
            // Ensure the info object
            if (ProjecttaskpriorityObj == null)
            {
                ProjecttaskpriorityObj = new ProjectTaskPriorityInfo();
                ProjecttaskpriorityObj.TaskPriorityOrder = ProjectTaskPriorityInfoProvider.GetPriorityCount(false) + 1;
            }

            // Initialize object
            ProjecttaskpriorityObj.TaskPriorityName        = txtTaskPriorityName.Text.Trim();
            ProjecttaskpriorityObj.TaskPriorityDisplayName = txtTaskPriorityDisplayName.Text.Trim();
            ProjecttaskpriorityObj.TaskPriorityEnabled     = chkTaskPriorityEnabled.Checked;
            ProjecttaskpriorityObj.TaskPriorityDefault     = chkTaskPriorityDefault.Checked;

            // Save object data to database
            ProjectTaskPriorityInfoProvider.SetProjectTaskPriorityInfo(ProjecttaskpriorityObj);

            ItemID = ProjecttaskpriorityObj.TaskPriorityID;
            RaiseOnSaved();

            // Set the info message
            ShowChangesSaved();
        }
    }
示例#5
0
    /// <summary>
    /// Loads the data into the form.
    /// </summary>
    private void LoadData()
    {
        // If dealayed reload or not postback with not delayed reload
        if (!URLHelper.IsPostback() || (drpTaskStatus.Items.Count == 0))
        {
            drpTaskStatus.DataSource     = ProjectTaskStatusInfoProvider.GetProjectTaskStatuses(true);
            drpTaskStatus.DataValueField = "TaskStatusID";
            drpTaskStatus.DataTextField  = "TaskStatusDisplayName";
            drpTaskStatus.DataBind();

            drpTaskPriority.DataSource     = ProjectTaskPriorityInfoProvider.GetProjectTaskPriorities(true);
            drpTaskPriority.DataValueField = "TaskPriorityID";
            drpTaskPriority.DataTextField  = "TaskPriorityDisplayName";
            drpTaskPriority.DataBind();
        }

        // Clear selector selection
        selectorOwner.UniSelector.Value    = String.Empty;
        selectorAssignee.UniSelector.Value = String.Empty;

        // Load the form from the info object
        if (ProjectTaskObj != null)
        {
            txtProjectTaskDisplayName.Text = ProjectTaskObj.ProjectTaskDisplayName;
            if (ProjectTaskObj.ProjectTaskAssignedToUserID > 0)
            {
                selectorAssignee.UniSelector.Value = ProjectTaskObj.ProjectTaskAssignedToUserID;
                selectorAssignee.ReloadData();
            }
            txtProjectTaskProgress.Text = ProjectTaskObj.ProjectTaskProgress.ToString();
            txtProjectTaskHours.Text    = ProjectTaskObj.ProjectTaskHours.ToString();
            if (ProjectTaskObj.ProjectTaskOwnerID > 0)
            {
                selectorOwner.UniSelector.Value = ProjectTaskObj.ProjectTaskOwnerID;
                selectorOwner.ReloadData();
            }
            dtpProjectTaskDeadline.SelectedDateTime = ProjectTaskObj.ProjectTaskDeadline;
            chkProjectTaskIsPrivate.Checked         = ProjectTaskObj.ProjectTaskIsPrivate;
            htmlTaskDescription.ResolvedValue       = ProjectTaskObj.ProjectTaskDescription;

            SetStatusDrp(ProjectTaskObj.ProjectTaskStatusID);
            SetPriorityDrp(ProjectTaskObj.ProjectTaskPriorityID);
        }
        else
        {
            // Set only available user
            var cui = MembershipContext.AuthenticatedUser;
            if (!IsLiveSite || !cui.UserIsDisabledManually)
            {
                // Load default data
                selectorOwner.UniSelector.Value    = (mProjectTaskOwnerID > 0) ? mProjectTaskOwnerID : MembershipContext.AuthenticatedUser.UserID;
                selectorAssignee.UniSelector.Value = (mProjectTaskAssigneeID > 0) ? mProjectTaskAssigneeID : MembershipContext.AuthenticatedUser.UserID;
                selectorAssignee.ReloadData();
                selectorOwner.ReloadData();
            }

            LoadDefaultPriority();
        }
    }
示例#6
0
    /// <summary>
    /// Selects priority in the drop down list.
    /// </summary>
    /// <param name="value">The selected value</param>
    private void SetPriorityDrp(int value)
    {
        if (drpTaskPriority.Items.FindByValue(value.ToString()) == null)
        {
            // Priority not found (is disabled) - add manually
            ProjectTaskPriorityInfo priority = ProjectTaskPriorityInfoProvider.GetProjectTaskPriorityInfo(value);
            drpTaskPriority.Items.Add(new ListItem(priority.TaskPriorityDisplayName, priority.TaskPriorityID.ToString()));
        }

        drpTaskPriority.SelectedValue = value.ToString();
    }
示例#7
0
    /// <summary>
    /// Loads and set default priority.
    /// </summary>
    private void LoadDefaultPriority()
    {
        ProjectTaskPriorityInfo defaultPriority = ProjectTaskPriorityInfoProvider.GetDefaultPriority();

        if (defaultPriority != null)
        {
            try
            {
                drpTaskPriority.SelectedValue = defaultPriority.TaskPriorityID.ToString();
            }
            catch
            {
            }
        }
    }
示例#8
0
    /// <summary>
    /// Handles UniGrid's OnAction event.
    /// </summary>
    /// <param name="actionName">Name of the action which should be performed</param>
    /// <param name="actionArgument">ID of the item the action should be performed with</param>
    protected void gridElem_OnAction(string actionName, object actionArgument)
    {
        int projecttaskpriorityId = ValidationHelper.GetInteger(actionArgument, 0);

        if (projecttaskpriorityId > 0)
        {
            switch (actionName.ToLowerCSafe())
            {
            case "edit":
                SelectedItemID = projecttaskpriorityId;
                RaiseOnEdit();
                break;

            case "delete":
                if (!ProjectTaskPriorityInfoProvider.CheckDependencies(projecttaskpriorityId))
                {
                    ShowError(GetString("pm.projecttaskpriority.removedenied"));
                    return;
                }

                if (ProjectTaskPriorityInfoProvider.GetPriorityCount() <= 1)
                {
                    ltlInfo.Text = ScriptHelper.GetScript("alert('" + GetString("pm.projectstatus.deletealert") + "');");
                    return;
                }

                // Delete the object
                ProjectTaskPriorityInfoProvider.DeleteProjectTaskPriorityInfo(projecttaskpriorityId);
                RaiseOnDelete();

                // Reload data
                gridElem.ReloadData();
                break;

            case "up":
                ProjectTaskPriorityInfoProvider.MovePriorityUp(projecttaskpriorityId);
                break;

            case "down":
                ProjectTaskPriorityInfoProvider.MovePriorityDown(projecttaskpriorityId);
                break;
            }
        }
    }