Esempio n. 1
0
        public ActionResult PostsByDescription(string description)
        {
            var request = new GetPostsByDescriptionRequest {
                Description = description
            };
            var result = _postService.GetPostsByDescription(request);

            return(View(result.Posts));
        }
        public PostsModule(IWindsorContainer container, IPostService postService)
            : base("/Posts")
        {
            _container   = container;
            _postService = postService;

            Before += ctx =>
            {
                var session = _container.Resolve <ISession>();
                session.Transaction.Begin();

                return(null);
            };

            After += ctx =>
            {
                var session = _container.Resolve <ISession>();
                session.Transaction.Commit();
            };

            Get["/Index"] = parameters => View["Index"];

            Get["/PopulateDatabase"] = parameters =>
            {
                _postService.PopulateDatabase(new PopulateDatabaseCommand());
                return(View["PopulateDatabase"]);
            };

            Get["/PostsByDescription/{Description}"] = parameters =>
            {
                var request = new GetPostsByDescriptionRequest {
                    Description = parameters.Description
                };
                var result = _postService.GetPostsByDescription(request);
                return(View["PostsByDescription", result.Posts]);
            };

            Get["/PostsPerUser"] = parameters =>
            {
                var request = new GetPostsPerUserRequest();
                var result  = _postService.GetPostsPerUser(request);
                return(View["PostsPerUser", result.PostsPerUser]);
            };
        }
Esempio n. 3
0
 public GetPostsByDescriptionResult GetPostsByDescription(GetPostsByDescriptionRequest request)
 {
     return(_dispatcher.Dispatch <GetPostsByDescriptionRequest, GetPostsByDescriptionResult>(request));
 }