Beispiel #1
0
        public async Task <ActionResult <LabelReadDTO> > GetLabelById([FromRoute] int id)
        {
            var request  = new GetSpecifiedLabelQuery(User.Identity?.Name, id);
            var response = await _mediator.Send(request);

            return(response.Match <ActionResult <LabelReadDTO> >(
                       labelDto => Ok(labelDto),
                       notFound => NotFound()
                       ));
        }
        public async Task <OneOf <LabelReadDTO, NotFound> > Handle(GetSpecifiedLabelQuery request, CancellationToken cancellationToken)
        {
            var userLabel = await _labelsRepository.ReadQuery()
                            .Where(label => label.Id == request.Id && label.UserLogin == request.UserLogin)
                            .FirstOrDefaultAsync(cancellationToken);

            if (userLabel == null)
            {
                return(new NotFound());
            }

            return(userLabel.ToReadDTO());
        }