public Enums.FederationType FederationCommunityCheck(
            int communityId)
        {
            Enums.FederationType fedType = Enums.FederationType.None;

            try
            {
                using (ISession session = NHSessionHelper.GetComolSession())
                {
                    DataContext dc = new DataContext(session);

                    lm.Comol.Core.BaseModules.Federation.Business.FederationService service =
                        new lm.Comol.Core.BaseModules.Federation.Business.FederationService(dc);

                    fedType = service.CommunityFederation(communityId);
                }
            }
            catch (Exception)
            {
            }


            return(fedType);
        }
        /// <summary>
        /// Metodo creato per Trentino Sviluppo che chiama i loro servizi per controllare se è un utente Federato
        /// </summary>
        /// <param name="communityId"></param>
        /// <param name="userId"></param>
        /// <param name="externlUrl">ToDo: diventerà OBJECT con i parametri necesari.</param>
        /// <returns></returns>
        /// <remarks>
        /// externlUrl: l'oggetto che lo sostiuirà avrà una classe base con un set minimo di informazioni (es: URL) ed eventuali sottoclassi che lo estendono con ulteriori informazioni specifiche.
        /// </remarks>
        public Enums.FederationResult FederationUserCheck(
            int communityId,
            int userId,
            string settings)
        {
            if (String.IsNullOrEmpty(settings))
            {
                return(Enums.FederationResult.CommunityNotFederated);
            }


            if (communityId <= 0)
            {
                return(FederationInternalUserCheck(userId, settings));
            }


            //lm.Comol.Core.BaseModules.Federation.Enums.FederationType communityFederation = Enums.FederationType.None;

            litePerson    person    = null;
            liteCommunity community = null;

            Enums.FederationType fedType = Enums.FederationType.None;

            try
            {
                using (ISession session = NHSessionHelper.GetComolSession())
                {
                    DataContext dc = new DataContext(session);

                    lm.Comol.Core.BaseModules.Federation.Business.FederationService service =
                        new lm.Comol.Core.BaseModules.Federation.Business.FederationService(dc);

                    fedType = service.CommunityFederation(communityId);

                    switch (fedType)
                    {
                    case Enums.FederationType.TrentinoSviluppo:
                        person = service.UserGet(userId);
                        break;

                    case Enums.FederationType.None:
                        return(Enums.FederationResult.CommunityNotFederated);
                    }
                }

                switch (fedType)
                {
                case Enums.FederationType.TrentinoSviluppo:
                    if (person == null || person.Id <= 0)
                    {
                        return(Enums.FederationResult.UserNotFound);    //o throw new Exception("Persona non trovata");
                    }
                    return(FederationCheck(person, settings));

caseelse:
                    break;
                }
            }
            catch (Exception)
            {
            }

            return(Enums.FederationResult.Unknow);
        }