예제 #1
0
        public List <TDto> RetrieveAllTopic <TDto>(IDataConverter <TopicInfoData, TDto> converter)
            where TDto : class
        {
            TopicCriteria criteria = new TopicCriteria();

            List <TDto> instances = TopicSystem.RetrieveTopicsBySearch(criteria, converter);

            if (instances == null)
            {
                instances = new List <TDto>();
            }
            return(instances);
        }
예제 #2
0
        internal List <TDto> RetrieveTopicsBySearch <TDto>(TopicCriteria criteria, IDataConverter <TopicInfoData, TDto> converter)
            where TDto : class
        {
            ArgumentValidator.IsNotNull("criteria", criteria);
            ArgumentValidator.IsNotNull("converter", converter);

            ITopicService service = UnitOfWork.GetService <ITopicService>();

            var query = service.Search(criteria);

            if (query.HasResult)
            {
                return(query.DataToDtoList(converter).ToList());
            }

            return(null);
        }
예제 #3
0
        public IEnumerable <TopicInfoData> Search(TopicCriteria criteria)
        {
            IEnumerable <TopicInfoData> result = null;

            RepositoryExceptionWrapper.Wrap(GetType(), () =>
            {
                IQuery query = CurrentSession.GetNamedQuery("GetTopicInfoList");
                if (criteria.ForumId != null)
                {
                    query.SetParameter("ForumId", criteria.ForumId);
                }
                else
                {
                    query.SetString("ForumId", null);
                }
                if (criteria.UserId != null)
                {
                    query.SetParameter("UserId", criteria.UserId);
                }
                else
                {
                    query.SetString("UserId", null);
                }

                if (string.IsNullOrEmpty(criteria.KeyWord))
                {
                    query.SetString("KeyWord", null);
                }
                else
                {
                    query.SetString("KeyWord", criteria.KeyWord.Trim());
                }

                result = query.List <TopicInfoData>();
            });

            return(result);
        }
예제 #4
0
        public IServiceQueryResultList <TopicInfoData> Search(TopicCriteria criteria)
        {
            IEnumerable <TopicInfoData> result = Repository.Search(criteria);

            return(ServiceResultFactory.BuildServiceQueryResult <TopicInfoData>(result));
        }