/// <summary>
        /// 그룹 정보 조회를 위한 <see cref="QueryOver"/>를 빌드합니다.
        /// </summary>
        /// <param name="company"></param>
        /// <param name="code"></param>
        /// <param name="kind"></param>
        /// <param name="name"></param>
        /// <param name="isActive"></param>
        /// <returns></returns>
        public static QueryOver<Group, Group> BuildQueryOverOfGroup(Company company,
                                                                    string code = null,
                                                                    GroupKinds? kind = null,
                                                                    string name = null,
                                                                    bool? isActive = null)
        {
            if(IsDebugEnabled)
                log.Debug(@"그룹 정보 조회를 위한 QueryOver 를 빌드합니다... company={0}, code={1} kind={2}, name={3}, isActive={4}",
                          company, code, kind, name, isActive);

            var query = QueryOver.Of<Group>();

            if(company != null)
                query.AddWhere(g => g.Company == company);

            if(code.IsNotWhiteSpace())
                query.AddWhere(g => g.Code == code);

            if(kind.HasValue)
                query.AddWhere(g => g.Kind == kind.Value);

            if(name.IsNotWhiteSpace())
                query.AddWhere(g => g.Name == name);

            if(isActive.HasValue)
                query.AddNullAsTrue(g => g.IsActive, isActive);

            return query;
        }
 /// <summary>
 /// 그룹 정보 조회를 위한 <see cref="DetachedCriteria"/>를 빌드합니다.
 /// </summary>
 public static DetachedCriteria BuildCriteriaOfGroup(Company company,
                                                     string code = null,
                                                     GroupKinds? kind = null,
                                                     string name = null,
                                                     bool? isActive = null)
 {
     return BuildQueryOverOfGroup(company, code, kind, name, isActive).DetachedCriteria;
 }