コード例 #1
0
        /// <summary>
        /// Remove Publication.
        /// </summary>
        /// <param name="request">The Publication Request Pivot to remove.</param>
        public void DeletePublication(PublicationRequestPivot request)
        {
            if (request?.PublicationPivot == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            Publication publication = _unitOfWork.PublicationRepository.Get(p => p.PublicationId == request.PublicationPivot.PublicationId)?.FirstOrDefault();

            _unitOfWork.PublicationRepository.Delete(publication);
            _unitOfWork.Save();
        }
コード例 #2
0
        /// <summary>
        /// Create new Publication.
        /// </summary>
        /// <param name="request">The Publication Request Pivot to add.</param>
        /// <returns>Publication Response Pivot created.</returns>
        public PublicationResponsePivot CreatePublication(PublicationRequestPivot request)
        {
            if (request?.PublicationPivot == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            Publication publication = request.PublicationPivot.ToEntity();

            _unitOfWork.PublicationRepository.Insert(publication);
            _unitOfWork.Save();
            return(new PublicationResponsePivot
            {
                PublicationPivot = publication.ToPivot()
            });
        }
コード例 #3
0
        /// <summary>
        /// Change Publication values.
        /// </summary>
        /// <param name="request">The Publication Request Pivot to change.</param>
        public void UpdatePublication(PublicationRequestPivot request)
        {
            if (request?.PublicationPivot == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            Publication publication = _unitOfWork.PublicationRepository.GetById(request.PublicationPivot.PublicationId);

            publication.PublicationDate = request.PublicationPivot.PublicationDate;
            publication.AuthorId        = request.PublicationPivot.AuthorId;
            publication.AreaId          = request.PublicationPivot.AreaId;
            if (request.PublicationPivot.PublicationImage != null)
            {
                publication.PublicationImage = request.PublicationPivot.PublicationImage;
            }
            _unitOfWork.Save();
        }
コード例 #4
0
        /// <summary>
        /// Search Publication by id.
        /// </summary>
        /// <param name="request">The Publication Request Pivot to retrive.</param>
        /// <returns>Publication Response Pivot response.</returns>
        public PublicationResponsePivot FindPublications(PublicationRequestPivot request)
        {
            if (request?.PublicationPivot == null)
            {
                throw new ArgumentNullException(nameof(request));
            }
            List <PublicationPivot> results = new List <PublicationPivot>();
            PublicationPivot        result  = new PublicationPivot();

            switch (request.FindPublicationPivot)
            {
            case FindPublicationPivot.PublicationId:
                result = _unitOfWork.PublicationRepository.Get(p => p.PublicationId == request.PublicationPivot.PublicationId, null, "Area,Author")?.FirstOrDefault().ToPivot();
                break;
            }
            return(new PublicationResponsePivot
            {
                PublicationPivotList = results,
                PublicationPivot = result
            });
        }