/// <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(); }
/// <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() }); }
/// <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(); }
/// <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 }); }