private void TaskData() { var taskExtraColumns = new Dictionary <string, string> { { "Project", "Project" }, { "ProjectIteration", "ProjectIteration" }, { "TaskTimeHistories", "TaskTimeHistories" } }; CriteriaOperator filter = new BinaryOperator("TaskId", ObjectId, BinaryOperatorType.Equal); var projectTasks = _objectSpace.GetObjects("ProjectTask", filter, taskExtraColumns); foreach (var taskItem in projectTasks) { var projectTask = ConvertData.Convert <Katrin.Domain.Impl.ProjectTask>(taskItem); var taskTimeHistoryList = projectTask.TaskTimeHistories.ToList(); TaskOperator.AddTaskItems(taskTimeHistoryList, projectTask, _projectTaskList); } if (projectTasks.AsQueryable().Count() > 0 && _editTaskTimeHistory.TaskTimeHistoryId == Guid.Empty) { var projectTask = ConvertData.Convert <Katrin.Domain.Impl.ProjectTask>(projectTasks[0]); _editTaskTimeHistory.ProjectName = projectTask.Project == null ? string.Empty : projectTask.Project.Name; _editTaskTimeHistory.IterationName = projectTask.ProjectIteration == null?string.Empty:projectTask.ProjectIteration.Name; _editTaskTimeHistory.TaskId = projectTask.TaskId; _editTaskTimeHistory.Name = projectTask.Name; _editTaskTimeHistory.ActualWorkHours = projectTask.ActualWorkHours ?? 0; _editTaskTimeHistory.RecordOn = DateTime.Today; _editTaskTimeHistory.RemainderTime = (projectTask.ActualWorkHours ?? 0) - (projectTask.Effort ?? 0); _editTaskTimeHistory.TaskTimeHistoryId = Guid.Empty; _editTaskTimeHistory.RecordPerson = TaskOperator.GetUserName(AuthorizationManager.CurrentUserId); } }
private void SinglePersonData() { var extraColumns = new Dictionary <string, string> { { "Project", "Project" } }; CriteriaOperator filter = new BinaryOperator("OwnerId", AuthorizationManager.CurrentUserId, BinaryOperatorType.Equal); filter &= new BinaryOperator("StartDate", DateTime.Today, BinaryOperatorType.LessOrEqual); filter &= new BinaryOperator(new OperandProperty("ActualWorkHours"), new OperandProperty("Effort"), BinaryOperatorType.Greater); if (ObjectId != Guid.Empty) { filter &= new BinaryOperator("TaskId", ObjectId, BinaryOperatorType.Equal); } var ownerProjectTasks = _objectSpace.GetObjects("ProjectTask", filter, extraColumns) as IList; List <Guid> exsitsTaskIdList = new List <Guid>(); if (ownerProjectTasks != null && ownerProjectTasks.AsQueryable().Count() > 0) { foreach (var task in ownerProjectTasks) { TaskTimeHistory item = new TaskTimeHistory(); var projectTask = ConvertData.Convert <Katrin.Domain.Impl.ProjectTask>(task); exsitsTaskIdList.Add(projectTask.TaskId); item.TaskId = projectTask.TaskId; item.Name = projectTask.Name; item.ActualWorkHours = projectTask.ActualWorkHours ?? 0; item.RecordOn = DateTime.Today; item.StartDate = projectTask.StartDate; item.EndDate = projectTask.EndDate; item.RemainderTime = (projectTask.ActualWorkHours ?? 0) - (projectTask.Effort ?? 0); var exsitsItems = _projectTaskList.Where(c => c.TaskId == item.TaskId).ToList(); foreach (var eitem in exsitsItems) { eitem.RemainderTime = item.RemainderTime; } item.TaskTimeHistoryId = Guid.Empty; item.RecordPerson = TaskOperator.GetUserName(AuthorizationManager.CurrentUserId); if (projectTask.Project != null) { item.ProjectName = projectTask.Project.Name; } if (_projectTaskList.Any(c => c.Effort == 0 && c.TaskTimeHistoryId == Guid.Empty && c.ActualInput == 0 && c.TaskId == item.TaskId)) { continue; } _projectTaskList.Insert(0, item); } } var notExsitsList = _projectTaskList.Where(c => !exsitsTaskIdList.Contains(c.TaskId)).ToList(); foreach (var notItem in notExsitsList) { notItem.RemainderTime = 0; } }