Exemplo n.º 1
0
        public static bool HistoryData(IObjectSpace objectSpace, List <TaskTimeHistory> projectTaskList)
        {
            bool             isManager   = false;
            var              projectList = (List <Katrin.Domain.Impl.Project>)objectSpace.GetObjects("Project", new BinaryOperator("ManagerId", AuthorizationManager.CurrentUserId), null);
            CriteriaOperator filter      = null;

            if (projectList != null && projectList.Count > 0)
            {
                List <object> projectIds = new List <object>();
                foreach (var projectItem in projectList)
                {
                    projectIds.Add(projectItem.ProjectId);
                }
                filter    = new InOperator("ProjectId", projectIds);
                isManager = true;
            }

            CriteriaOperator historyFilter = new BinaryOperator("CreatedById", AuthorizationManager.CurrentUserId, BinaryOperatorType.Equal);
            var taskTimeHistories          = (List <Katrin.Domain.Impl.TaskTimeHistory>)objectSpace.GetObjects("TaskTimeHistory", historyFilter, null);

            if (taskTimeHistories.Count <= 0 && !isManager)
            {
                return(isManager);
            }
            historyFilter = new InOperator("TaskId", taskTimeHistories.Select(c => c.TaskId).ToList());
            if (isManager)
            {
                filter |= historyFilter;
            }
            else
            {
                filter = historyFilter;
            }

            var managerExtraColumns = new Dictionary <string, string>
            {
                { "Project", "Project" },
                { "ProjectIteration", "ProjectIteration" },
                { "TaskTimeHistories", "TaskTimeHistories" }
            };
            var projectTasks = objectSpace.GetBatchObjects("ProjectTask", filter, managerExtraColumns);

            foreach (var taskItem in projectTasks)
            {
                Katrin.Domain.Impl.ProjectTask task = ConvertData.Convert <Katrin.Domain.Impl.ProjectTask>(taskItem);
                var historyList = task.TaskTimeHistories.ToList();
                if (!isManager)
                {
                    historyList = historyList.Where(c => c.CreatedById == AuthorizationManager.CurrentUserId).ToList();
                }
                AddTaskItems(historyList, task, projectTaskList);
            }
            return(isManager);
        }
Exemplo n.º 2
0
 public static void AddTaskItems(List <Katrin.Domain.Impl.TaskTimeHistory> taskTimeHistoryList,
                                 Katrin.Domain.Impl.ProjectTask projectTask, List <TaskTimeHistory> projectTaskList)
 {
     taskTimeHistoryList = taskTimeHistoryList.Where(c => c.IsDeleted == false).OrderBy(c => c.RecordOn).ToList();
     foreach (var historyItemObject in taskTimeHistoryList)
     {
         TaskTimeHistory item = new TaskTimeHistory();
         item.TaskId            = projectTask.TaskId;
         item.Name              = projectTask.Name;
         item.ProjectName       = projectTask.Project == null ? string.Empty : (projectTask.Project.Name ?? string.Empty);
         item.ActualWorkHours   = projectTask.ActualWorkHours ?? 0;
         item.RecordOn          = historyItemObject.RecordOn ?? DateTime.Today;
         item.ActualInput       = historyItemObject.ActualInput ?? 0;
         item.Description       = historyItemObject.Description;
         item.Effort            = historyItemObject.Effort ?? 0;
         item.SourceEffort      = item.Effort;
         item.Overtime          = historyItemObject.Overtime ?? 0;
         item.RemainderTime     = (projectTask.ActualWorkHours ?? 0) - (projectTask.Effort ?? 0);
         item.TaskTimeHistoryId = historyItemObject.TaskTimeHistoryId;
         item.RecordPerson      = GetUserName(historyItemObject.CreatedById ?? Guid.Empty);
         projectTaskList.Add(item);
     }
 }
Exemplo n.º 3
0
 public void UpdateOwerId(Guid?ownerId)
 {
     Katrin.Domain.Impl.ProjectTask detaiTask = this.ObjectEntity as Katrin.Domain.Impl.ProjectTask;
     detaiTask.OwnerId = ownerId;
 }
Exemplo n.º 4
0
 public void UpdateIteration(Guid?iterationId)
 {
     Katrin.Domain.Impl.ProjectTask detaiTask = this.ObjectEntity as Katrin.Domain.Impl.ProjectTask;
     detaiTask.ProjectIterationId = iterationId;
 }