/// <summary> /// From ThemeTranslation Pivot To ThemeTranslation Dto. /// </summary> /// <param name="themeTranslationPivot">themeTranslation pivot to assemble.</param> /// <returns>ThemeTranslationDto result.</returns> public static ThemeTranslationDto ToDto(this ThemeTranslationPivot themeTranslationPivot) { if (themeTranslationPivot == null) { return(null); } return(new ThemeTranslationDto { TranslationId = themeTranslationPivot.TranslationId, ThemeName = themeTranslationPivot.ThemeName, ThemeId = themeTranslationPivot.ThemeId, Theme = themeTranslationPivot.Theme.ToDto(), LanguageId = themeTranslationPivot.LanguageId, Language = themeTranslationPivot.Language.ToDto(), }); }
/// <summary> /// From ThemeTranslationPivot to ThemeTranslation. /// </summary> /// <param name="themeTranslationPivot">themeTranslationPivot to assemble.</param> /// <returns>ThemeTranslation result.</returns> public static ThemeTranslation ToEntity(this ThemeTranslationPivot themeTranslationPivot) { if (themeTranslationPivot == null) { return(null); } return(new ThemeTranslation { Language = themeTranslationPivot.Language.ToEntity(), TranslationId = themeTranslationPivot.TranslationId, Theme = themeTranslationPivot.Theme.ToEntity(), LanguageId = themeTranslationPivot.LanguageId, ThemeName = themeTranslationPivot.ThemeName, ThemeId = themeTranslationPivot.ThemeId }); }
/// <summary> /// Search PublicationTheme. /// </summary> /// <param name="request">The PublicationTheme Request Pivot to retrive.</param> /// <returns>PublicationTheme Response Pivot response.</returns> public PublicationThemeResponsePivot FindPublicationThemes(PublicationThemeRequestPivot request) { if (request?.PublicationThemePivot == null) { throw new ArgumentNullException(nameof(request)); } List <PublicationThemePivot> results = new List <PublicationThemePivot>(); PublicationThemePivot result = new PublicationThemePivot(); List <PublicationTranslationPivot> publicationTranslationPivotList = new List <PublicationTranslationPivot>(); PublicationTranslationPivot publicationTranslationPivot = new PublicationTranslationPivot(); List <ThemeTranslationPivot> themeTranslationPivotList = new List <ThemeTranslationPivot>(); ThemeTranslationPivot themeTranslationPivot = new ThemeTranslationPivot(); switch (request.FindPublicationThemePivot) { case FindPublicationThemePivot.PublicationThemeId: result = _unitOfWork.PublicationThemeRepository .Get(p => p.PublicationThemeId == request.PublicationThemePivot.PublicationThemeId) ?.FirstOrDefault().ToPivot(); themeTranslationPivot = _unitOfWork.ThemeTranslationRepository .Get(t => t.ThemeId == request.PublicationThemePivot.ThemeId).FirstOrDefault().ToPivot(); publicationTranslationPivot = _unitOfWork.PublicationTranslationRepository .Get(p => p.PublicationId == request.PublicationThemePivot.PublicationId).FirstOrDefault() .ToPivot(); break; case FindPublicationThemePivot.PublicationId: results = _unitOfWork.PublicationThemeRepository .Get(p => p.PublicationId == request.PublicationThemePivot.PublicationId)?.ToList() .ToPivotList(); if (results != null) { foreach (PublicationThemePivot publicationThemePivot in results) { publicationTranslationPivotList.AddRange(_unitOfWork.PublicationTranslationRepository .Get(p => p.PublicationId == publicationThemePivot.PublicationId).ToList() .ToPivotList()); themeTranslationPivotList.AddRange(_unitOfWork.ThemeTranslationRepository .Get(t => t.ThemeId == publicationThemePivot.ThemeId).ToList() .ToPivotList()); } } break; case FindPublicationThemePivot.ThemeId: results = _unitOfWork.PublicationThemeRepository .Get(p => p.ThemeId == request.PublicationThemePivot.ThemeId)?.ToList().ToPivotList(); if (results != null) { foreach (PublicationThemePivot publicationThemePivot in results) { publicationTranslationPivotList.AddRange(_unitOfWork.PublicationTranslationRepository .Get(p => p.PublicationId == publicationThemePivot.PublicationId).ToList() .ToPivotList()); themeTranslationPivotList.AddRange(_unitOfWork.ThemeTranslationRepository .Get(t => t.ThemeId == publicationThemePivot.ThemeId).ToList() .ToPivotList()); } } break; case FindPublicationThemePivot.PublicationIdAndThemeId: result = _unitOfWork.PublicationThemeRepository .Get( p => p.ThemeId == request.PublicationThemePivot.ThemeId && p.PublicationId == request.PublicationThemePivot.PublicationId )?.FirstOrDefault().ToPivot(); themeTranslationPivot = _unitOfWork.ThemeTranslationRepository .Get(t => t.ThemeId == request.PublicationThemePivot.ThemeId).FirstOrDefault().ToPivot(); publicationTranslationPivot = _unitOfWork.PublicationTranslationRepository .Get(p => p.PublicationId == request.PublicationThemePivot.PublicationId).FirstOrDefault() .ToPivot(); break; } return(new PublicationThemeResponsePivot { PublicationTranslationPivotList = publicationTranslationPivotList, PublicationTranslationPivot = publicationTranslationPivot, ThemeTranslationPivotList = themeTranslationPivotList, ThemeTranslationPivot = themeTranslationPivot, PublicationThemePivotList = results, PublicationThemePivot = result }); }