public IList <UIValidationGrouping> GetByPersonId(decimal personId)
        {
            UIValidationGrouping grouping = null;
            UIValidationGroup    group    = null;
            PersonTASpec         person   = null;

            IList <UIValidationGrouping> list = base.NHibernateSession.QueryOver <UIValidationGrouping>(() => grouping)
                                                .JoinAlias(() => grouping.ValidationGroup, () => group)
                                                .JoinAlias(() => group.PersonTAList, () => person)
                                                .Where(() => person.ID == personId)
                                                .And(() => group.SubSystemId == (int)SubSystemIdentifier.TimeAtendance)
                                                .List <UIValidationGrouping>();

            IList <UIValidationGrouping> result = list != null && list.Count > 0 ? list : new List <UIValidationGrouping>();

            return(result);
        }
        public decimal GetByPersonIdAndRuleCode(decimal personId, int ruleCode)
        {
            IList <decimal>      kk       = new List <decimal>();
            UIValidationGrouping grouping = null;
            UIValidationGroup    group    = null;
            UIValidationRule     rule     = null;
            PersonTASpec         person   = null;

            IList <UIValidationGrouping> list = base.NHibernateSession.QueryOver <UIValidationGrouping>(() => grouping)
                                                .JoinAlias(() => grouping.ValidationGroup, () => group)
                                                .JoinAlias(() => group.PersonTAList, () => person)
                                                .JoinAlias(() => grouping.ValidationRule, () => rule)
                                                .Where(() => person.ID == personId)
                                                .And(() => rule.CustomCode == ruleCode.ToString())
                                                .And(() => group.SubSystemId == (int)SubSystemIdentifier.TimeAtendance)
                                                .List <UIValidationGrouping>();

            decimal result = list != null && list.Count > 0 ? list.First().ID : 0;

            return(result);
        }