コード例 #1
0
        public PageModule(IPageService pageService,IMapper mapper): base("/pages")
        {
            if (pageService == null)
            {
                throw new ArgumentNullException(nameof(pageService));
            }

            this.pageService = pageService;
            this.mapper = mapper;

            Get["/"] = _ =>
            {
                var pages = pageService.GetAll().ToList();
                var pagesViewModel = mapper.Map<IEnumerable<Page>, IEnumerable<PageViewModel>>(pages);
                return pagesViewModel;
            };

            Get["/{id}"] = parameter => pageService.GetById(parameter.id) ?? HttpStatusCode.NotFound;

            Post["/"] = _ =>
            {
                var page = this.Bind<Page>();

                page = pageService.Add(page);

                return page;
            };

            Put["/{id}"] = parameter =>
            {
                var page = this.Bind<Page>();

                page.PageId = parameter.id;

                bool isUpdated = pageService.Update(page);

                return isUpdated ? HttpStatusCode.OK : HttpStatusCode.NotFound;
            };

            Delete["/{id}"] = parameter =>
            {
                var page = new Page() { PageId = parameter.id };

                bool isDeleted = pageService.Remove(page);

                return isDeleted ? HttpStatusCode.OK : HttpStatusCode.NotFound;
            };

            Post["/insert"] = _ =>
            {
                var pages = this.Bind<IEnumerable<Page>>();

                pageService.Insert(pages);

                return HttpStatusCode.OK;
            };
        }
コード例 #2
0
 public bool Remove(Page page) => pageRepository.Delete(page);
コード例 #3
0
 public bool Update(Page page) => pageRepository.Update(page);
コード例 #4
0
 public Page Add(Page page) => pageRepository.Add(page);