public async Task TestAddUpdatDelete() { ProjectManagementMilestoneModule ProjectManagementMilestoneMod = new ProjectManagementMilestoneModule(); ProjectManagementMilestone milestone = await ProjectManagementMilestoneMod.Milestone.Query().GetEntityById(1); ProjectManagementProject project = await ProjectManagementMilestoneMod.Project.Query().GetEntityById(1); RollupTaskToMilestoneView rollup = await ProjectManagementMilestoneMod.Milestone.Query().GetTaskToMilestoneRollupViewById(milestone.MilestoneId); ProjectManagementMilestoneView view = new ProjectManagementMilestoneView() { MilestoneName = "fluent code refactor", ProjectId = project.ProjectId, ProjectName = project.ProjectName, EstimatedHours = rollup.EstimatedHours, EstimatedDays = rollup.EstimatedDays, ActualDays = rollup.ActualDays, ActualHours = rollup.ActualHours, ActualStartDate = rollup.ActualStartDate, ActualEndDate = rollup.ActualEndDate, EstimatedStartDate = rollup.EstimatedStartDate, EstimatedEndDate = rollup.EstimatedEndDate, Cost = rollup.Cost, Wbs = "2.1" }; NextNumber nnNextNumber = await ProjectManagementMilestoneMod.Milestone.Query().GetNextNumber(); view.MileStoneNumber = nnNextNumber.NextNumberValue; ProjectManagementMilestone projectManagementMilestone = await ProjectManagementMilestoneMod.Milestone.Query().MapToEntity(view); ProjectManagementMilestoneMod.Milestone.AddProjectManagementMilestone(projectManagementMilestone).Apply(); ProjectManagementMilestone newProjectManagementMilestone = await ProjectManagementMilestoneMod.Milestone.Query().GetEntityByNumber(view.MileStoneNumber); Assert.NotNull(newProjectManagementMilestone); newProjectManagementMilestone.MilestoneName = "MS Name Update"; ProjectManagementMilestoneMod.Milestone.UpdateProjectManagementMilestone(newProjectManagementMilestone).Apply(); ProjectManagementMilestoneView updateView = await ProjectManagementMilestoneMod.Milestone.Query().GetViewById(newProjectManagementMilestone.MilestoneId); Assert.Same(updateView.MilestoneName, "MS Name Update"); ProjectManagementMilestoneMod.Milestone.DeleteProjectManagementMilestone(newProjectManagementMilestone).Apply(); ProjectManagementMilestone lookupProjectManagementMilestone = await ProjectManagementMilestoneMod.Milestone.Query().GetEntityById(view.MilestoneId); Assert.Null(lookupProjectManagementMilestone); }
public async Task <RollupTaskToMilestoneView> GetTaskToMilestoneRollupViewById(long?milestoneId) { RollupTaskToMilestoneView view = await(from e in _dbContext.ProjectManagementMilestone join f in _dbContext.ProjectManagementTask on e.MilestoneId equals f.MileStoneId where e.MilestoneId == milestoneId group f by f.MileStoneId into pg select new RollupTaskToMilestoneView { MilestoneId = milestoneId ?? 0, EstimatedHours = pg.Sum(e => e.EstimatedHours), ActualDays = pg.Sum(e => e.ActualDays), EstimatedDays = pg.Sum(e => e.EstimatedDays), ActualHours = pg.Sum(e => e.ActualHours), ActualStartDate = pg.Min(e => e.ActualStartDate), ActualEndDate = pg.Max(e => e.ActualEndDate), EstimatedStartDate = pg.Min(e => e.EstimatedStartDate), EstimatedEndDate = pg.Max(e => e.EstimatedEndDate), Cost = pg.Sum(e => e.Cost) }).FirstOrDefaultAsync <RollupTaskToMilestoneView>(); return(view); }