示例#1
0
        public TaskWrapper(Task task)
        {
            if (task.SubTasks != null)
            {
                Subtasks = task.SubTasks.Select(x => new SubtaskWrapper(x, task)).ToList();
            }

            CreatedBy = EmployeeWraper.Get(task.CreateBy);
            if (task.CreateBy != task.LastModifiedBy)
            {
                UpdatedBy = EmployeeWraper.Get(task.LastModifiedBy);
            }

            if (task.Responsible != Guid.Empty)
            {
                Responsible = EmployeeWraper.Get(task.Responsible);
            }

            Id = task.ID;

            Updated  = (ApiDateTime)task.LastModifiedOn;
            Created  = (ApiDateTime)task.CreateOn;
            Deadline = (task.Deadline == DateTime.MinValue ? null : (ApiDateTime)task.Deadline);
            Priority = task.Priority;

            Title        = task.Title;
            Status       = (int)task.Status;
            Description  = task.Description;
            MilestoneId  = task.Milestone;
            ProjectOwner = new SimpleProjectWrapper(task.Project);
            CanEdit      = ProjectSecurity.CanEdit(task);
            CanWork      = ProjectSecurity.CanWork(task);

            if (task.Milestone != 0 && task.MilestoneDesc != null)
            {
                Milestone = new SimpleMilestoneWrapper(task.MilestoneDesc);
            }

            if (task.Responsibles != null)
            {
                Responsibles = task.Responsibles.Select(x => EmployeeWraper.Get(x)).ToList();
            }
        }