예제 #1
0
        public DbRequestResult <List <ChannelRoleDto> > GetChannels(long userId)
        {
            var res       = new DbRequestResult <List <ChannelRoleDto> >();
            var userRoles = _context.UserRole.Where(userRole => userRole.user_id == userId);

            res.CreatedObject = userRoles.Select(Converter.ConvertToChannelRoleDto).ToList();
            return(res);
        }
예제 #2
0
        public DbRequestResult <List <UserDto> > GetChannelsUsers(long userId, long channelId)
        {
            var res             = new DbRequestResult <List <UserDto> >();
            var isActionAllowed = new UserRolesManager().CheckPermition(userId, channelId, _watchMemberPermitionId);

            if (isActionAllowed)
            {
                var channelRoles = _context.UserRole.Where(uRole => uRole.channel_id == channelId).
                                   Select(c => Converter.ConvertToUserDto(c.User)).ToList();
                res.CreatedObject = channelRoles;
            }
            else
            {
                res.ActionResult = ActionResult.PermissionDenied;
            }
            return(res);
        }
예제 #3
0
        public DbRequestResult <List <EventDto> > GetEvents(long userId, int count, int offset, DateTime dateTime, long channelId)
        {
            var res = new DbRequestResult <List <EventDto> >();

            if (new UserRolesManager().CheckPermition(userId, channelId, _readNewsPermitionId))
            {
                var str =
                    _context.Event.Where(
                        t => t.channel_id == channelId && SqlFunctions.DateDiff("day", t.event_time, dateTime) < offset + 1);
                var events =
                    str.OrderByDescending(t => SqlFunctions.DateDiff("minute", t.event_time, dateTime))
                    .Take(count).Select(Converter.ConvertToEventDto).ToList();
                res.CreatedObject = events;
            }
            else
            {
                res.ActionResult = ActionResult.PermissionDenied;
            }
            return(res);
        }