/// <summary>
 /// Change SectionParagraph values.
 /// </summary>
 /// <param name="request">The SectionParagraph Request Pivot to change.</param>
 public void UpdateSectionParagraph(SectionParagraphRequestPivot request)
 {
     if (request?.SectionParagraphPivot == null)
     {
         throw new ArgumentNullException(nameof(request));
     }
 }
        /// <summary>
        /// Search SectionParagraph by id.
        /// </summary>
        /// <param name="request">The SectionParagraph Request Pivot to retrive.</param>
        /// <returns>SectionParagraph Response Pivot response.</returns>
        public SectionParagraphResponsePivot FindSectionParagraphs(SectionParagraphRequestPivot request)
        {
            if (request?.SectionParagraphPivot == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            List <SectionParagraphPivot> results = new List <SectionParagraphPivot>();
            SectionParagraphPivot        result  = new SectionParagraphPivot();

            switch (request.FindSectionParagraphPivot)
            {
            case FindSectionParagraphPivot.SectionParagraphId:
                result = _unitOfWork.SectionParagraphRepository.Get(p => p.ParagraphId == request.SectionParagraphPivot.ParagraphId, null, "Section")?.FirstOrDefault().ToPivot();
                break;

            case FindSectionParagraphPivot.SectionId:
                results = _unitOfWork.SectionParagraphRepository.Get(p => p.SectionId == request.SectionParagraphPivot.SectionId, null, "Section")?.ToList().ToPivotList();
                break;
            }

            return(new SectionParagraphResponsePivot
            {
                SectionParagraphPivotList = results,
                SectionParagraphPivot = result
            });
        }
        /// <summary>
        /// Remove SectionParagraph.
        /// </summary>
        /// <param name="request">The SectionParagraph Request Pivot to remove.</param>
        public void DeleteSectionParagraph(SectionParagraphRequestPivot request)
        {
            if (request?.SectionParagraphPivot == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            SectionParagraph sectionParagraph = _unitOfWork.SectionParagraphRepository.GetById(request.SectionParagraphPivot.ParagraphId);

            _unitOfWork.SectionParagraphRepository.Delete(sectionParagraph);
            _unitOfWork.Save();
        }
        /// <summary>
        /// Create new SectionParagraph.
        /// </summary>
        /// <param name="request">The SectionParagraph Request Pivot to add.</param>
        /// <returns>SectionParagraph Response Pivot added.</returns>
        public SectionParagraphResponsePivot CreateSectionParagraph(SectionParagraphRequestPivot request)
        {
            if (request?.SectionParagraphPivot == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            SectionParagraph sectionParagraph = request.SectionParagraphPivot.ToEntity();

            _unitOfWork.SectionParagraphRepository.Insert(sectionParagraph);
            _unitOfWork.Save();
            return(new SectionParagraphResponsePivot
            {
                SectionParagraphPivot = sectionParagraph.ToPivot()
            });
        }