Exemple #1
0
        /// <summary>
        /// Binds the data.
        /// </summary>
        private void BindData()
        {
            dcbProducts.SiteID = dcbOrders.SiteID = dcbTaskResult.SiteID = dcbTaskType.SiteID = SiteId;

            var task = DataManager.Task.SelectById(SiteId, _taskId);

            if (task != null)
            {
                var taskMap = new TaskMap()
                {
                    ID = task.ID,
                    PlanDurationHours   = task.PlanDurationHours,
                    PlanDurationMinutes = task.PlanDurationMinutes,
                    Title               = task.Title,
                    StartDate           = task.StartDate,
                    EndDate             = task.EndDate,
                    MainMemberCompanyID = task.MainMemberCompanyID,
                    MainMemberContactID = task.MainMemberContactID
                };

                ucTaskMembers.Task      = taskMap;
                ucTaskDurations.Task    = taskMap;
                ucMainTaskMember.Task   = taskMap;
                ucSaveTaskDuration.Task = taskMap;

                txtTitle.Text                 = task.Title;
                dcbTaskType.SelectedId        = task.TaskTypeID;
                rdpStartDate.SelectedDate     = task.StartDate;
                rdpEndDate.SelectedDate       = task.EndDate;
                rdpDateOfControl.SelectedDate = task.DateOfControl;
                rdpDateOfControl.Enabled      = (Guid)CurrentUser.Instance.ContactID == task.CreatorID;

                chxIsImportantTask.Checked           = task.IsImportantTask;
                rntxtPlanDurationHours.Value         = task.PlanDurationHours;
                rntxtPlanDurationMinutes.Value       = task.PlanDurationMinutes;
                ucResponsible.SelectedValue          = task.ResponsibleID;
                ucRadWindowResponsible.SelectedValue = task.ResponsibleID;
                rcbCreator.Items.Add(new RadComboBoxItem(DataManager.Contact.SelectById(SiteId, task.CreatorID).UserFullName));
                rdpResponsibleReminderDate.SelectedDate = task.ResponsibleReminderDate;
                rdpCreatorReminderDate.SelectedDate     = task.CreatorReminderDate;
                chxIsUrgentTask.Checked = task.IsUrgentTask;
                SetStatus((TaskStatus)task.TaskStatusID);
                if (task.TaskResultID.HasValue)
                {
                    dcbTaskResult.SelectedId = (Guid)task.TaskResultID;
                }
                txtDetailedResult.Text = task.DetailedResult;

                // Workflow
                var isWorkflow = WorkflowProcessing.IsWorkflow(task.ID);
                rdpDateOfControl.Enabled = !isWorkflow;
                if (isWorkflow)
                {
                    var workflowTemplateElementResults = WorkflowProcessing.WorkflowElementResultsByValue(task.ID);
                    ddlWorkflowResult.Items.Add(new ListItem("Выберите значение", ""));
                    foreach (var workflowTemplateElementResult in workflowTemplateElementResults)
                    {
                        if (!workflowTemplateElementResult.IsSystem)
                        {
                            ddlWorkflowResult.Items.Add(new ListItem(workflowTemplateElementResult.Name, workflowTemplateElementResult.ID.ToString()));
                        }
                    }
                }

                var taskType = task.tbl_TaskType;

                //ucTaskMembers.TypeCategory = (TaskTypeCategory)task.tbl_TaskType.TaskTypeCategoryID;
                //ucTaskDurations.Visible = plDuration.Visible = (TaskTypeCategory)task.tbl_TaskType.TaskTypeCategoryID == TaskTypeCategory.LongTermTask;
                //if ((TaskTypeCategory)task.tbl_TaskType.TaskTypeCategoryID == TaskTypeCategory.LongTermTask)
                //{
                //    ucTaskDurations.BindData();
                //    ucSaveTaskDuration.TaskDurations = ucTaskDurations.TaskDurationsList;
                //    ucSaveTaskDuration.BindData();
                //    ucProgressBar.UpdateProgressBar(CalculateCompletePercent());
                //}

                if (task.OrderID.HasValue)
                {
                    dcbOrders.SelectedId = (Guid)task.OrderID;
                }

                dcbProducts.SelectedIdNullable = task.ProductID;

                ucTaskMembers.ProductId = task.ProductID;

                UpdateInterfaceRelatedTaskType(taskType);

                rntxtActualDurationHours.Value   = task.ActualDurationHours;
                rntxtActualDurationMinutes.Value = task.ActualDurationMinutes;
                rntxtCompletePercentage.Value    = (double?)task.CompletePercentage;


                CreatorId     = task.CreatorID;
                ResponsibleId = task.ResponsibleID;

                CheckUpdatePlanDurationRights(taskType);
            }
            else
            {
                CreatorId = (Guid)CurrentUser.Instance.ContactID;
                rcbCreator.Items.Add(new RadComboBoxItem(DataManager.Contact.SelectById(SiteId, (Guid)CurrentUser.Instance.ContactID).UserFullName));
                ucResponsible.SelectedValue          = CurrentUser.Instance.ContactID;
                ucRadWindowResponsible.SelectedValue = CurrentUser.Instance.ContactID;
                rdpStartDate.SelectedDate            = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 9, 0, 0, 0);
                SetStatus(TaskStatus.Planned);
                ucProgressBar.UpdateProgressBar(0);

                if (Session["sd"] != null && Session["ed"] != null)
                {
                    rdpStartDate.SelectedDate = DateTime.Parse(Session["sd"].ToString());
                    rdpEndDate.SelectedDate   = DateTime.Parse(Session["ed"].ToString());
                    Session["sd"]             = Session["ed"] = null;
                }
            }
        }