Ejemplo n.º 1
0
        public Patrocinador ObterPatrocinadorAtual(Patrocinado patrocinado)
        {
            var contratos = DetachedCriteria.For<ContratoPatrocinio>();

            var filtraContratosPorPatrocinado = new EspecificacaoFiltrarContratosPorPatrocinado(patrocinado);
            var filtrarContratosAtivos = new EspecificacaoFiltrarContratosAtivos(patrocinado);
            filtraContratosPorPatrocinado.And(filtrarContratosAtivos).MontarCriterios(contratos);

            var patrocinadores = Session.CreateCriteria<Patrocinador>();
            var filtraPatrocinadorPorContratos = new EspecificacaoFiltraPatrocinadoresPorContrato(patrocinadores);
            filtraPatrocinadorPorContratos.MontarCriterios(contratos);

            return patrocinadores.UniqueResult<Patrocinador>();
        }
Ejemplo n.º 2
0
        public IList<Patrocinador> ObterTodosPatrocinadosQueTenhamContratoCom(Patrocinado patrocinado)
        {
            var contratos = DetachedCriteria.For<ContratoPatrocinio>();

            var filtraContratosPorPatrocinado = new EspecificacaoFiltrarContratosPorPatrocinado(patrocinado);
            filtraContratosPorPatrocinado.MontarCriterios(contratos);

            var patrocinadores = Session.CreateCriteria<Patrocinador>();

            var filtraPatrocinadorPorContratos = new EspecificacaoFiltraPatrocinadoresPorContrato(patrocinadores);
            filtraPatrocinadorPorContratos.MontarCriterios(contratos);

            return patrocinadores.SetFetchMode("Patrocinados", FetchMode.Eager)
                    .SetResultTransformer(Transformers.DistinctRootEntity)
                    .List<Patrocinador>().ToList();
        }