コード例 #1
0
        public Stream MapStreamDTOToStream(StreamDTO streamDTO)
        {
            Stream stream = new Stream
            {
                Id          = streamDTO.Id,
                Name        = streamDTO.Name,
                Description = streamDTO.Description,
                CountryId   = (int)streamDTO.IdCountry
            };

            return(stream);
        }
コード例 #2
0
        public void AddPostToUsersStreams(PostDTO post, List <string> UsersLogins)
        {
            using (ISession session = _cluster.Connect(_keyspace))
            {
                Cassandra.Mapping.IMapper mapper = new Cassandra.Mapping.Mapper(session);

                session.UserDefinedTypes.Define(new CommentProfile().Definitions);

                StreamDTO Stream = _StreamMapper.Map <StreamDTO>(post);

                var Ids = mapper.Fetch <UserDTO>("where \"User_Login\" in (?)", UsersLogins.ToArray()).ToList();
                this.AddPostToUsersStreams(post, Ids.Select(p => p.User_Id).ToList());
            }
        }
コード例 #3
0
        public void AddPostToUsersStreams(PostDTO post, List <long> UsersIds)
        {
            using (ISession session = _cluster.Connect(_keyspace))
            {
                Cassandra.Mapping.IMapper mapper = new Cassandra.Mapping.Mapper(session);

                session.UserDefinedTypes.Define(new CommentProfile().Definitions);
                StreamDTO Stream = _StreamMapper.Map <StreamDTO>(post);
                foreach (var u in UsersIds)
                {
                    Stream.User_Id = u;
                    mapper.Insert(Stream);
                }
            }
        }
コード例 #4
0
        public StreamDTO MapStreamToStreamDTO(Stream stream)
        {
            StreamDTO streamDTO = new StreamDTO
            {
                Id           = stream.Id,
                Name         = stream.Name,
                Description  = stream.Description,
                IdCountry    = stream.CountryId,
                CountryName  = stream.Country.Name,
                IdLanguage   = stream.Country.Language.Id,
                LanguageName = stream.Country.Language.Name
            };

            return(streamDTO);
        }
コード例 #5
0
        protected virtual async Task <CachedStreamDTO> CreateCachedStreamAsync(StreamDTO stream)
        {
            var cachedStreamDTO = new CachedStreamDTO
            {
                Stream = stream
            };

            var cachedCommandSets = new List <CachedCommandSetDTO>();
            var streamCommandSets = await _webapiClient.GetStreamCommandSetsAsync(stream.Id);

            foreach (var streamCommandSet in streamCommandSets)
            {
                if (streamCommandSet != null &&
                    streamCommandSet.CommandSet != null)
                {
                    var commands = await _webapiClient.GetCommandsAsync(streamCommandSet.CommandSet.Id);

                    cachedCommandSets.Add(new CachedCommandSetDTO
                    {
                        CommandSet = new CommandSetDTO
                        {
                            CommandsCount      = commands.Count(),
                            Description        = streamCommandSet.CommandSet.Description,
                            Id                 = streamCommandSet.CommandSet.Id,
                            Name               = streamCommandSet.CommandSet.Name,
                            Prefix             = streamCommandSet.CommandSet.Prefix,
                            StreamsCommandSets = streamCommandSets.Count()
                        },
                        Commands = commands
                    });
                }

                cachedStreamDTO.CommandSets = cachedCommandSets.ToArray();
            }

            return(cachedStreamDTO);
        }