public IEnumerable <UseCaseArtifactViewModel> Get([FromUri] UseCasesByDiagramQuery query) { var result = _useCasesByDiagramQueryHandler.Handle(query); return(result.Select(i => UseCaseArtifactViewModel.FromModel(i, i.SpecificationItem)) .ToList()); }
public IEnumerable <UseCase> Handle(UseCasesByDiagramQuery query) { var useCases = _context.UseCases .Include(uc => uc.SpecificationItem) .Include(uc => uc.Contents) .Include(uc => uc.PreConditions.Select(pc => pc.Contents)) .Include(uc => uc.PostConditions.Select(pc => pc.Contents)) .Where(uc => uc.UseCaseDiagram.Id == query.DiagramId && (!query.Version.HasValue || uc.Version == query.Version.Value)) .ToList(); return(useCases); }
public CreateUseCaseDiagramNewVersionCommand Convert(UseCaseDiagram input) { var result = new CreateUseCaseDiagramNewVersionCommand(); var actorsQuery = new ActorsByDiagramQuery { DiagramId = input.Id, Version = input.Version }; var actors = _actorsByDiagramQueryHandler.Handle(actorsQuery); var useCasesQuery = new UseCasesByDiagramQuery { DiagramId = input.Id, Version = input.Version }; var useCases = _useCasesByDiagramQueryHandler.Handle(useCasesQuery); result.Actors = actors.Select(FromModel); result.UseCases = useCases.Select(FromModel); result.Contents = input.Contents.Select(c => new UseCaseDiagramContentItem { Locale = c.Locale, Name = c.Name }); result.PackageId = input.SpecificationItem.PackageId; result.EntitiesRelations = input.EntitiesRelations.Select(r => new UseCaseEntitiesRelationItem { Contents = r.Contents.Select(c => new UseCaseEntitiesRelationContent { Description = c.Description, Locale = c.Locale }), SourceId = r.SourceId, TargetId = r.TargetId }); result.Id = input.Id; result.UseCasesRelations = input.UseCasesRelations.Select(r => new UseCasesRelationItem { SourceId = r.SourceId, TargetId = r.TargetId, Type = r.Type }); result.PackageId = input.SpecificationItem.PackageId; return(result); }