protected override IQueryOver <ResolutionKind, ResolutionKind> DecorateCriteria(IQueryOver <ResolutionKind, ResolutionKind> queryOver)
        {
            ResolutionKindDocumentSeries resolutionKindDocumentSeries = null;
            DocumentSeries documentSeries = null;

            return(queryOver
                   .Left.JoinAlias(x => x.ResolutionKindDocumentSeries, () => resolutionKindDocumentSeries)
                   .Left.JoinAlias(() => resolutionKindDocumentSeries.DocumentSeries, () => documentSeries)
                   .Where(x => x.IsActive == 1));
        }
        /// <summary>
        /// Mapping di una ResolutionKindDocumentSeries su ResolutionKindTypeResults.
        /// <see cref="ResolutionKindDocumentSeriesFacade.GetResolutionKindType"/>
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public DTO.Resolutions.ResolutionKindTypeResults TransformDTO(ResolutionKindDocumentSeries entity)
        {
            if (entity == null)
            {
                throw new ArgumentException("Impossibile trasformare ResolutionKindDocumentSeries se l'entità non è inizializzata");
            }

            ResolutionKindTypeResults reslkindtype = new ResolutionKindTypeResults();

            reslkindtype.Name                   = entity.ResolutionKind.Name;
            reslkindtype.IsRequired             = entity.DocumentRequired;
            reslkindtype.ResolutionKindIsActive = entity.ResolutionKind.IsActive;
            return(reslkindtype);
        }
        protected override NHibernate.IQueryOver <ResolutionKind, ResolutionKind> MappingProjection(NHibernate.IQueryOver <ResolutionKind, ResolutionKind> queryOver)
        {
            ResolutionKindTypeResults    reslKindType = null;
            ResolutionKindDocumentSeries resolutionKindDocumentSeries = null;

            Data.DocumentSeries documentSeries = null;

            queryOver.SelectList(list => list
                                 .Select(x => x.Id).WithAlias(() => reslKindType.IdResolutionKind)
                                 .Select(x => x.Name).WithAlias(() => reslKindType.Name)
                                 .Select(() => resolutionKindDocumentSeries.DocumentRequired).WithAlias(() => reslKindType.IsRequired)
                                 .Select(x => x.IsActive).WithAlias(() => reslKindType.ResolutionKindIsActive)
                                 .Select(x => x.IsActive).WithAlias(() => reslKindType.ResolutionKindDocumentSeriesIsActive)
                                 .Select(() => documentSeries.Id).WithAlias(() => reslKindType.DocumentSeriesId)
                                 .Select(() => resolutionKindDocumentSeries.Id).WithAlias(() => reslKindType.IdResolutionKindDocumentSeries)
                                 .Select(() => documentSeries.Name).WithAlias(() => reslKindType.DocumentSeriesName));

            return(queryOver);
        }