Esempio n. 1
0
#pragma warning disable CS1998 // El m�todo asincr�nico carece de operadores "await" y se ejecutar� de forma sincr�nica
        public override async Task <Response> ExecuteAsync(SocketConnection connection)
#pragma warning restore CS1998 // El m�todo asincr�nico carece de operadores "await" y se ejecutar� de forma sincr�nica
        {
            var postService = ActivatorUtilities.GetServiceOrCreateInstance <IPostService>(
                Dependencies.Configuration.Services
                );

            var topicService = ActivatorUtilities.GetServiceOrCreateInstance <ITopicService>(
                Dependencies.Configuration.Services
                );

            var topicName = Encoding.UTF8.GetString(RawData);
            var topic     = topicService.GetAll().GetByName(topicName);
            var posts     = postService.GetAll(topic.Id);
            var payload   = ListPostsCommand.FromList(posts);

            postService.GetAll(topic.Id);
            return(new Response
            {
                Header = new Header.Header
                {
                    Command = CommandType.ListPostsByTopic,
                    Type = HeaderType.Response,
                    DataLength = payload.Length
                },
                Data = payload
            });
        }
        public override async Task <Response> ExecuteAsync(SocketConnection connection)
        {
            var post     = ListPostsCommand.FromBytes(RawData);
            var response = new Response
            {
                Header = new Header.Header
                {
                    Command    = CommandType.ModifyPost,
                    Type       = HeaderType.Response,
                    DataLength = 0
                },
                Data = new byte[] { }
            };

            if (post.Count() != 1)
            {
                response.Data = BitConverter.GetBytes(false);
                response.Header.DataLength = response.Data.Length;
                return(response);
            }

            var postService =
                ActivatorUtilities.GetServiceOrCreateInstance <IPostService>(
                    Dependencies.Configuration.Services);

            response.Data = (await postService.RemoveAsync(post.First())).ToBytes();
            response.Header.DataLength = response.Data.Length;
            return(response);
        }
Esempio n. 3
0
        public override async Task <Response> ExecuteAsync(SocketConnection connection)
        {
            var posts    = ListPostsCommand.FromBytes(RawData);
            var response = new Response
            {
                Header = new Header.Header
                {
                    Command    = CommandType.ModifyPost,
                    Type       = HeaderType.Response,
                    DataLength = 0
                },
                Data = new byte[] { }
            };

            if (posts.Count() != 2)
            {
                response.Data = BitConverter.GetBytes(false);
                response.Header.DataLength = response.Data.Length;
                return(response);
            }

            var oldPost = posts[0];
            var newPost = posts[1];

            var toUpdate = new Post
            {
                Id     = oldPost.Id,
                Topics = newPost.Topics,
                Name   = newPost.Name
            };

            var postService =
                ActivatorUtilities.GetServiceOrCreateInstance <IPostService>(
                    Dependencies.Configuration.Services);

            response.Data = (await postService.UpdateAsync(toUpdate)).ToBytes();
            response.Header.DataLength = response.Data.Length;
            return(response);
        }