/// <summary> /// From Publication Pivot To Publication Dto. /// </summary> /// <param name="publicationPivot">publication pivot to assemble.</param> /// <returns>PublicationDto result.</returns> public static PublicationDto ToDto(this PublicationPivot publicationPivot) { if (publicationPivot == null) { return(null); } return(new PublicationDto { PublicationId = publicationPivot.PublicationId, PublicationImage = publicationPivot.PublicationImage, PublicationDate = publicationPivot.PublicationDate, AreaId = publicationPivot.AreaId, Area = publicationPivot.Area.ToDto(), AuthorId = publicationPivot.AuthorId, Author = publicationPivot.Author.ToDto(), }); }
/// <summary> /// From PublicationPivot to Publication. /// </summary> /// <param name="publicationPivot">publicationPivot to assemble.</param> /// <returns>Publication result.</returns> public static Publication ToEntity(this PublicationPivot publicationPivot) { if (publicationPivot == null) { return(null); } return(new Publication { PublicationId = publicationPivot.PublicationId, PublicationImage = publicationPivot.PublicationImage, PublicationDate = publicationPivot.PublicationDate, AreaId = publicationPivot.AreaId, Area = publicationPivot.Area?.ToEntity(), AuthorId = publicationPivot.AuthorId, Author = publicationPivot.Author?.ToEntity() }); }
/// <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 }); }