예제 #1
0
        public override async Task <PaginatedList <UserDto> > Handle(GetUsersForCommunicationChannelQuery request, CancellationToken cancellationToken)
        {
            // Ověřím si, že komunikační kanál existuje.
            _communicationChannelRepository.ThrowIfNotExists(request.ChannelId);

            // Načtu kolekci uživatelů v dané skupině a zpracuju na stránkovanou kolekci.
            var result = await _userRepository.GetByChannelId(request.ChannelId)
                         .ProjectTo <UserDto>(_mapper.ConfigurationProvider)
                         .PaginatedListAsync(request.PageNumber, request.PageSize);

            return(result);
        }
예제 #2
0
        public override async Task <PaginatedList <CommunicationChannelCalendarEventDto> > Handle(GetCommunicationChannelCalendarEventsForCommunicationChannelQuery request, CancellationToken cancellationToken)
        {
            // Ověřím, zda-li komunikační kanál skutečně existuje.
            _communicationChannelRepository.ThrowIfNotExists(request.CommunicationChannelId);

            // Načtu kolekci kalendářních událostí komunikačního kanálu a zpracuju na stránkovanou kolekci.
            var result = await _communicationChannelCalendarEventRepository.GetByCommunicationChannelId(request.CommunicationChannelId)
                         .ProjectTo <CommunicationChannelCalendarEventDto>(_mapper.ConfigurationProvider)
                         .PaginatedListAsync(request.PageNumber, request.PageSize);

            return(result);
        }
        public override async Task <PaginatedList <CommunicationChannelMessageDto> > Handle(GetCommunicationChannelMessagesForChannelQuery request, CancellationToken cancellationToken)
        {
            // Zjistím, zda-li komunikační kanál skutečně existuje.
            _communicationChannelRepository.ThrowIfNotExists(request.ChannelId);

            // Načtu kolekci rolí uživatele v komunikačním kanálu a zpracuju na stránkovanou kolekci.
            var result = await _communicationChannelMessageRepository.GetByChannelId(request.ChannelId)
                         .OrderByDescending(m => m.CreatedAt)
                         .ProjectTo <CommunicationChannelMessageDto>(_mapper.ConfigurationProvider)
                         .PaginatedListOrderedAsync(request.PageNumber, request.PageSize, m => m.CreatedAt);

            return(result);
        }
예제 #4
0
        public override async Task <PaginatedList <CommunicationChannelRoleDto> > Handle(GetCommunicationChannelRolesForUserInChannelQuery request, CancellationToken cancellationToken)
        {
            // Ověřím, zda-li uživatel existuje.
            _userRepository.ThrowIfNotExists(request.UserId);
            // Ověřím, zda-li komunikační kanál existuje.
            _communicationChannelRepository.ThrowIfNotExists(request.ChannelId);

            // Načtu kolekci rolí uživatele v komunikačním kanálu a zpracuju na stránkovanou kolekci.
            var result = await _communicationChannelRoleRepository.GetForUserInChannel(request.UserId, request.ChannelId)
                         .ProjectTo <CommunicationChannelRoleDto>(_mapper.ConfigurationProvider)
                         .PaginatedListAsync(request.PageNumber, request.PageSize);

            return(result);
        }
예제 #5
0
        public async Task <string> Handle(CreateCommunicationChannelRoleCommand request, CancellationToken cancellationToken)
        {
            // Zjistím, zda-li komunikační kanál skutečně existuje.
            _communicationChannelRepository.ThrowIfNotExists(request.ChannelId);

            // Vytvořím entitu naplněnou daty z příkazu.
            var entity = new CommunicationChannelRole()
            {
                ChannelId = request.ChannelId,
                Name      = request.Name
            };

            // Přidám záznam do datového zdroje a uložím.
            await _communicationChannelRoleRepository.AddOrUpdateAsync(entity, cancellationToken);

            await _unitOfWork.SaveChangesAsync(cancellationToken);

            // Vrátím Id vytvořeného záznamu.
            return(entity.Id);
        }