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); }
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); } }
public void UpdateOwerId(Guid?ownerId) { Katrin.Domain.Impl.ProjectTask detaiTask = this.ObjectEntity as Katrin.Domain.Impl.ProjectTask; detaiTask.OwnerId = ownerId; }
public void UpdateIteration(Guid?iterationId) { Katrin.Domain.Impl.ProjectTask detaiTask = this.ObjectEntity as Katrin.Domain.Impl.ProjectTask; detaiTask.ProjectIterationId = iterationId; }