Esempio n. 1
0
        public ListResponse <InstagramDataM> GetInstagramDataList(RequestCralwerDataListM request)
        {
            ListResponse <InstagramDataM> response = new ListResponse <InstagramDataM>();

            RequestCralwerDataListMValidator validator = new RequestCralwerDataListMValidator();
            ValidationResult results = validator.Validate(request);

            NPoco.Page <InstagramT> instagramDataEntities = crawlerService.GetInstagramDataList(request.PageNo, request.PageSize, request.OrderCondition, request.OrderType);
            List <InstagramDataM>   instagramDataList     = mapper.Map <List <InstagramT>, List <InstagramDataM> >(instagramDataEntities.Items);

            if (instagramDataList != null || instagramDataList.Count > 0)
            {
                response.ListResult   = instagramDataList;
                response.CurrentPage  = instagramDataEntities.CurrentPage;
                response.ItemsPerPage = instagramDataEntities.ItemsPerPage;
                response.TotalItems   = instagramDataEntities.TotalItems;
                response.TotalPages   = instagramDataEntities.TotalPages;
                response.Status       = ((int)HttpStatusCode.OK).ToString();
            }
            else
            {
                throw new NotFoundException("데이터가 존재하지 않습니다.", "데이터 조회 오류", LayerID.CrawlerController);
            }

            logger.Log(LogLevel.Info, string.Format("호출 성공 : {0}", MethodBase.GetCurrentMethod().Name));
            return(response);
        }
Esempio n. 2
0
        public Response <BoardListM> ReadBoardList(RequestBoardListM request)
        {
            Response <BoardListM> response = new Response <BoardListM>();

            RequestBoardListMValidator validator = new RequestBoardListMValidator();
            ValidationResult           results   = validator.Validate(request);

            if (results.Errors.Count > 0)
            {
                throw new ValidationException("입력값을 확인해주세요.", results.Errors.Join("\r\n"), LayerID.BoardController);
            }

            NPoco.Page <ArticleT> entity = boardService.GetBoardList(request.PageNo,
                                                                     request.PageSize,
                                                                     request.PageBlockSize,
                                                                     request.BoardId,
                                                                     request.CategoryId,
                                                                     request.SearchType,
                                                                     request.SearchKeyword);

            int pageMaxNo     = (int)((entity.TotalPages / request.PageBlockSize) + 1);
            int currPageBlock = (int)((request.PageNo / request.PageBlockSize) + 1);

            BoardPageInfoT pageInfoT = new BoardPageInfoT()
            {
                BoardId         = request.BoardId,
                CurrentPageNo   = request.PageNo,
                PageSize        = request.PageSize,
                TotalCount      = (int)entity.TotalItems,
                TotalPages      = (int)entity.TotalPages,
                PageBlockSize   = request.PageBlockSize,
                NextPageBlockYN = currPageBlock < pageMaxNo,
                PrevPageBlockYN = currPageBlock > 1
            };

            List <ArticleM> listModel = mapper.Map <List <ArticleT>, List <ArticleM> >(entity.Items);
            BoardPageInfoM  pageInfoM = mapper.Map <BoardPageInfoT, BoardPageInfoM>(pageInfoT);

            BoardListM model = new BoardListM()
            {
                ListItems     = listModel,
                BoardPageInfo = pageInfoM
            };



            if (model != null)
            {
                response.Result = model;
                response.Status = ((int)HttpStatusCode.OK).ToString();
            }
            else
            {
                throw new NotFoundException("게시물 목록이 없습니다.", "게시물 없음", LayerID.BoardController);
            }

            logger.Log(LogLevel.Info, string.Format("호출 성공 : {0}", MethodBase.GetCurrentMethod().Name));
            return(response);
        }