Example #1
0
        public async Task <PageDto> AddPage(AddPageDto pageDto)
        {
            var page = _mapper.Map <Page>(pageDto);

            page.CreationDate = _dateTimeService.GetCurrentDateTime();
            if (await _repo.Add(page) != null)
            {
                return(_mapper.Map <PageDto>(page));
            }

            return(null);
        }
        public async Task <PageDto> AddPage(AddPageDto pageDto)
        {
            var page = _mapper.Map <Page>(pageDto);

            await _context.Pages.AddAsync(page);

            if (await _context.SaveChangesAsync() > 0)
            {
                return(_mapper.Map <PageDto>(page));
            }

            return(null);
        }
        public async Task <IActionResult> AddPage([FromBody] AddPageDto addPageDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            try
            {
                addPageDto.UserId = GetUserId();
                var text = await _websiteService.GetHtml(addPageDto.Url);

                if (addPageDto.CheckingType == CheckingTypeEnum.Element)
                {
                    text = HtmlHelper.GetNode(text, addPageDto.ElementXPath);
                }

                WebsiteTextDto primaryText = await _websiteTextService.AddText(new AddWebsiteTextDto()
                {
                    Text = text
                });

                addPageDto.PrimaryTextId = primaryText.WebsiteTextId;

                var addResult = await _pageService.AddPage(addPageDto);

                if (addResult == null)
                {
                    return(BadRequest());
                }

                return(Ok(addResult));
            }
            catch (UriFormatException)
            {
                return(BadRequest());
            }
            catch (WebException)
            {
                return(BadRequest());
            }
            catch
            {
                return(BadRequest());
            }
        }