/// <summary> /// Search PublicationTranslation by id. /// </summary> /// <param name="request">The PublicationTranslation Request Pivot to retrive.</param> /// <returns>PublicationTranslation Response Pivot response.</returns> public PublicationTranslationResponsePivot FindPublicationTranslations(PublicationTranslationRequestPivot request) { if (request?.PublicationTranslationPivot == null) { throw new ArgumentNullException(nameof(request)); } List <PublicationTranslationPivot> results = new List <PublicationTranslationPivot>(); PublicationTranslationPivot result = new PublicationTranslationPivot(); switch (request.FindPublicationTranslationPivot) { case FindPublicationTranslationPivot.PublicationTranslationId: result = _unitOfWork.PublicationTranslationRepository .Get( p => p.PublicationTranslationId == request.PublicationTranslationPivot.PublicationTranslationId, null, "Publication,Language")?.FirstOrDefault().ToPivot(); break; case FindPublicationTranslationPivot.PublicationId: results = _unitOfWork.PublicationTranslationRepository .Get(p => p.PublicationId == request.PublicationTranslationPivot.PublicationId, null, "Publication,Language")?.ToList().ToPivotList(); break; } return(new PublicationTranslationResponsePivot { PublicationTranslationPivotList = results, PublicationTranslationPivot = result }); }
/// <summary> /// Remove PublicationTranslation. /// </summary> /// <param name="request">The PublicationTranslation Request Pivot to remove.</param> public void DeletePublicationTranslation(PublicationTranslationRequestPivot request) { if (request?.PublicationTranslationPivot == null) { throw new ArgumentNullException(nameof(request)); } PublicationTranslation publicationTranslation = _unitOfWork.PublicationTranslationRepository.GetById(request.PublicationTranslationPivot .PublicationTranslationId); _unitOfWork.PublicationTranslationRepository.Delete(publicationTranslation); _unitOfWork.Save(); }
/// <summary> /// From PublicationTranslation Request to PublicationTranslation Request pivot. /// </summary> /// <param name="publicationTranslationRequest"></param> /// <returns>PublicationTranslation Request pivot result.</returns> public static PublicationTranslationRequestPivot ToPivot(this PublicationTranslationRequest publicationTranslationRequest) { PublicationTranslationRequestPivot publicationTranslationRequestPivot = new PublicationTranslationRequestPivot { FindPublicationTranslationPivot = Utility .EnumToEnum <FindPublicationTranslationDto, FindPublicationTranslationPivot>( publicationTranslationRequest.FindPublicationTranslationDto), PublicationTranslationPivotList = publicationTranslationRequest.PublicationTranslationDtoList .ToPivotList(), PublicationTranslationPivot = publicationTranslationRequest.PublicationTranslationDto.ToPivot() }; return(publicationTranslationRequestPivot); }
/// <summary> /// Create new PublicationTranslation. /// </summary> /// <param name="request">The PublicationTranslation Request Pivot to add.</param> /// <returns>PublicationTranslation Response Pivot created.</returns> public PublicationTranslationResponsePivot CreatePublicationTranslation( PublicationTranslationRequestPivot request) { if (request?.PublicationTranslationPivot == null) { throw new ArgumentNullException(nameof(request)); } PublicationTranslation publicationTranslation = request.PublicationTranslationPivot.ToEntity(); _unitOfWork.PublicationTranslationRepository.Insert(publicationTranslation); _unitOfWork.Save(); return(new PublicationTranslationResponsePivot { PublicationTranslationPivot = publicationTranslation.ToPivot() }); }
/// <summary> /// Change PublicationTranslation values. /// </summary> /// <param name="request">The PublicationTranslation Request Pivot to change.</param> public void UpdatePublicationTranslation(PublicationTranslationRequestPivot request) { if (request?.PublicationTranslationPivot == null) { throw new ArgumentNullException(nameof(request)); } PublicationTranslation publicationTranslation = _unitOfWork.PublicationTranslationRepository.GetById(request.PublicationTranslationPivot .PublicationTranslationId); publicationTranslation.PublicationSummary = request.PublicationTranslationPivot.PublicationSummary; publicationTranslation.PublicationTitle = request.PublicationTranslationPivot.PublicationTitle; if (!string.IsNullOrEmpty(request.PublicationTranslationPivot.PublicationFile)) { publicationTranslation.PublicationFile = request.PublicationTranslationPivot.PublicationFile; } _unitOfWork.Save(); }
/// <summary> /// Change PublicationTranslation values. /// </summary> /// <param name="request">The PublicationTranslation Request Pivot to change.</param> public void UpdatePublicationTranslationRange(PublicationTranslationRequestPivot request) { if (request?.PublicationTranslationPivotList == null) { throw new ArgumentNullException(nameof(request)); } foreach (var publicationTranslationPivot in request.PublicationTranslationPivotList) { PublicationTranslation publicationTranslation = _unitOfWork.PublicationTranslationRepository.GetById(publicationTranslationPivot .PublicationTranslationId); if (!string.IsNullOrEmpty(publicationTranslationPivot.PublicationFile)) { publicationTranslation.PublicationFile = publicationTranslationPivot.PublicationFile; } publicationTranslation.PublicationSummary = publicationTranslationPivot.PublicationSummary; publicationTranslation.PublicationTitle = publicationTranslationPivot.PublicationTitle; _unitOfWork.Save(); } }