public async Task <ActionResult <GroupItemsResponseDto> > GetGroupItemsById(Guid id)
        {
            GroupItemsResponseDto groupItemsDto = await GroupApplication.GetGroupItems(g => g.Id.Equals(id));

            if (groupItemsDto == null)
            {
                ErrorMessage error = new ErrorMessage((int)HttpStatusCode.NotFound, $"O grupo, {id}, não foi encontrado.");
                return(NotFound(error));
            }

            return(Ok(groupItemsDto));
        }
        public async Task <ActionResult> DeleteGroup(Guid id)
        {
            // Check if the group exists
            GroupResponseDto groupDto = await GroupApplication.GetGroup(r => r.Id.Equals(id));

            GroupItemsResponseDto groupItemsDto = await GroupApplication.GetGroupItems(g => g.Id.Equals(id));

            if (groupDto == null)
            {
                ErrorMessage error = new ErrorMessage((int)HttpStatusCode.NotFound, $"O grupo, {id}, não foi encontrado.");
                return(NotFound(error));
            }

            if (groupItemsDto.Items != null && groupItemsDto.Items.Count() > 0)
            {
                ErrorMessage error = new ErrorMessage((int)HttpStatusCode.NotFound, $"O grupo não foi deletado. Existem itens associados ao grupo.");
                return(BadRequest(error));
            }

            await GroupApplication.DeleteGroup(groupDto);

            return(NoContent());
        }