public async Task <CreateTestTagItemDto> Handle(CreateTagItemCommand request, CancellationToken cancellationToken) { var project = await context.Projects .Where(p => p.Id.Equals(request.ProjectId)) .FirstOrDefaultAsync(); if (project == null) { throw new EntityNotFoundException(nameof(Project), request.ProjectId); } var entity = new Tag() { Name = request.Name, ProjectId = request.ProjectId }; if (request.TestScenarioIds.Count > 0) { var listFromDb = await context.Scenarios .Where(p => p.Project.Id.Equals(request.ProjectId)) .Include(t => t.Tags) .Where(r => request.TestScenarioIds.Contains(r.Id)) .ToListAsync() ; var list = listFromDb.Select(t => new TagLink { Tag = entity, Scenario = t }); entity.TagLinks.AddRange(list); } //if (request.TestCaseIds.Count > 0) //{ // var listFromDb = await context.TestCases // .Where(p => p.TestProject.Id.Equals(request.ProjectId)) // .Include(t => t.TestTags) // .Where(r => request.TestCaseIds.Contains(r.Id)) // .ToListAsync() // ; // var list = listFromDb.Select(t => new TagLink // { // Tag = entity, // Scenario = t // }); // entity.TagLinks.AddRange(list); //} project.Tags.Add(entity); context.Projects.Update(project); //context.TestCases.Add(entity); await context.SaveChangesAsync(cancellationToken); return(new CreateTestTagItemDto { Id = entity.Id }); }
public async Task <Unit> Handle(DeleteProjectItemCommand request, CancellationToken cancellationToken) { var project = await context.Projects .Where(t => t.Id == request.Id) .SingleOrDefaultAsync(); if (project == null) { throw new EntityNotFoundException(nameof(Project), request.Id); } context.Projects.Remove(project); await context.SaveChangesAsync(cancellationToken); return(Unit.Value); }
public async Task <CreateProjectItemDto> Handle(CreateProjectItemCommand request, CancellationToken cancellationToken) { var entity = new Project() { Name = request.Name, IsEnabled = request.IsEnabled }; context.Projects.Add(entity); await context.SaveChangesAsync(cancellationToken); return(new CreateProjectItemDto { Id = entity.Id }); }
public async Task <Unit> Handle(UpdateProjectItemCommand request, CancellationToken cancellationToken) { var project = await context.Projects .Where(t => t.Id.Equals(request.ProjectId)) .SingleOrDefaultAsync(cancellationToken); if (project == null) { throw new EntityNotFoundException(nameof(Project), request.ProjectId); } project.IsEnabled = request.IsEnabled; context.Projects.Update(project); await context.SaveChangesAsync(cancellationToken); return(Unit.Value); }
public async Task <CreateStepItemCommandDto> Handle(CreateStepItemCommand request, CancellationToken cancellationToken) { var entity = new Step() { Description = request.Description, Order = request.Order, ProjectId = request.ProjectId }; await context.Steps.AddAsync(entity, cancellationToken); await context.SaveChangesAsync(cancellationToken); return(new CreateStepItemCommandDto { Id = entity.Id }); }
public async Task <CreateFeatureItemCommandDto> Handle(CreateFeatureItemCommand request, CancellationToken cancellationToken) { var entity = new Feature() { Name = request.Name, Description = request.Description, ProjectId = request.ProjectId }; await context.Features.AddAsync(entity, cancellationToken); await context.SaveChangesAsync(cancellationToken); return(new CreateFeatureItemCommandDto { Id = entity.Id }); }
public async Task <CreateStepListCommandDto> Handle(CreateStepListCommand request, CancellationToken cancellationToken) { var entities = request.StepList.Select(s => { var entity = new Step() { Description = s.Description, Order = s.Order, ProjectId = request.ProjectId }; return(entity); }); await context.Steps.AddRangeAsync(entities, cancellationToken); await context.SaveChangesAsync(cancellationToken); return(new CreateStepListCommandDto { StepIds = entities.Select(s => s.Id).ToList() }); }
public async Task <CreateScenarioItemCommandDto> Handle(CreateScenarioItemCommand request, CancellationToken cancellationToken) { var entity = new Scenario() { Name = request.Name, Description = request.Description, Status = TestOutlineStatus.Draft, ProjectId = request.ProjectId }; if (request.TagIds.Count > 0) { var listOfTagsFromDb = await context.Tags .Where(p => p.ProjectId.Equals(request.ProjectId)) .Include(t => t.TagLinks) .Where(r => request.TagIds.Contains(r.Id)) .ToListAsync() ; var list = listOfTagsFromDb.Select(t => new TagLink { Tag = t, Scenario = entity }); entity.Tags.AddRange(list); } context.Scenarios.Update(entity); await context.SaveChangesAsync(cancellationToken); return(new CreateScenarioItemCommandDto { Id = entity.Id }); }