public async Task AcceptSummary(string issueId)
        {
            var issue = await _issueRepository.GetAsync(issueId.ToObjectId());

            if (issue is null)
            {
                throw new HttpStatusException(400, "Das angefragte Issue Existiert nicht");
            }

            if (!(await CanUserAcceptOrDeclineSummary(issue)))
            {
                throw new HttpStatusException(400, "Sie haben nicht die berechtigung eine Zusammenfassung zu akzeptieren");
            }

            if (issue.IssueDetail.RequirementsSummaryCreated is false)
            {
                throw new HttpStatusException(400, "Es wurde noch kein Zusammenfassung für dieses Ticket erstellt");
            }

            issue.IssueDetail.RequirementsAccepted = true;
            await _issueRepository.UpdateAsync(issue);

            var states = await _stateService.GetStates(issue.ProjectId);

            if (states is null)
            {
                throw new HttpStatusException(400, "Es wurden keine Statuse für dieses Project gefunden");
            }

            var oldState = states.First(it => it.Id == issue.StateId);
            var state    = await _issueStateService.UpdateState(issue, states.First(it => it.Name == State.ProcessingState));

            issue.StateId = state.Id;

            issue.ConversationItems.Add(new IssueConversation()
            {
                Id            = ObjectId.GenerateNewId(),
                CreatorUserId = _httpContextAccessor.HttpContext.User.GetUserId(),
                Type          = IssueConversation.SummaryAcceptedType,
                Data          = "",
                Requirements  = issue.IssueDetail.Requirements.Select(x => x.Requirement).ToList(),
                ExpectedTime  = issue.IssueDetail.ExpectedTime
            });

            issue.ConversationItems.Add(new IssueConversation()
            {
                Id            = ObjectId.GenerateNewId(),
                CreatorUserId = _httpContextAccessor.HttpContext.User.GetUserId(),
                Type          = IssueConversation.StateChangeType,
                Data          = $"Status von {State.NegotiationState} zu {state.Name} geändert.",
                StateChange   = new()
                {
                    Before = oldState.Name,
                    After  = state.Name
                }
            });
        private async Task UpdateIssue()
        {
            //TODO get Issue from cunstroctor
            var issue = await _issueRepository.GetAsync(Issue.Id);

            if (issue is null)
            {
                return;
            }

            var state = await GetState(issue.ProjectId, State.ProcessingState);

            await _issueStateService.UpdateState(issue, state);
        }