private async Task AddKanbanColumnsForSprint(SprintInputDto inputDto, Sprint sprint) { var boardOptionIdsForProject = await this.boardOptionsRepo.AllAsNoTracking() .Where(x => x.ProjectId == inputDto.ProjectId) .Select(x => x.Id) .ToListAsync(); foreach (var optionsId in boardOptionIdsForProject) { sprint.KanbanBoard.Add(new KanbanBoardColumn() { KanbanBoardColumnOptionId = optionsId, AddedOn = DateTime.UtcNow, }); } }
public async Task CreateSprintAsync(SprintInputDto inputDto) { var sprint = new Sprint() { AddedOn = DateTime.UtcNow, Name = inputDto.Name, ProjectId = inputDto.ProjectId, StartDate = inputDto.StartDate, DueDate = inputDto.DueDate, StatusId = GetSprintStatus(inputDto.StartDate, inputDto.DueDate) }; await AddKanbanColumnsForSprint(inputDto, sprint); InitialSeedBurndownData(sprint); await this.sprintRepo.AddAsync(sprint); await this.sprintRepo.SaveChangesAsync(); }