public ModelPager <VueSystemNotification> querySystemNotification(QMsgUser query)
        {
            ModelPager <VueSystemNotification> result = new ModelPager <VueSystemNotification>(query.pageIndex, query.pageSize);
            var mainSql = Db.Queryable <EMsgInfo_System, EMsgContent_System>((m, c) => new object[]
            {
                JoinType.Left, m.ContentId == c.Id,
            })
                          .Where((m, c) => m.ReceiveUserId == query.userId)
                          .OrderBy((m, c) => m.CreatedDateTime, OrderByType.Desc)
                          .Select((m, c) => new VueSystemNotification
            {
                dbDateTime         = m.CreatedDateTime,
                htmlContent        = c.htmlContent,
                htmlTitle          = c.htmlTitle,
                NotificationStatus = m.NotificationStatus,
                msgId     = m.Id,
                contentId = c.Id
            });

            int totalNumber = 0;

            result.datas      = mainSql.ToPageList(query.pageIndex, query.pageSize, ref totalNumber);
            result.totalCount = totalNumber;
            return(result);
        }
        public async Task <ModelPager <VueUserCommReply> > queryUserCommReply(QUserCommReply query)
        {
            ModelPager <VueUserCommReply> result = new ModelPager <VueUserCommReply>(query.pageIndex, query.pageSize);
            var mainSql = Db.Queryable <ECommentReply_Res, EComment_Res, EUserInfo, EBookInfo>((r, c, cu, b) => new object[]
            {
                JoinType.Inner, r.commentId == c.Id,
                JoinType.Inner, r.authorId == cu.Id,
                JoinType.Inner, c.parentRefCode == b.Code,
            })
                          .Where((r, c, cu, b) => r.authorId == query.userId)
                          .OrderBy(r => r.CreateDateTime, OrderByType.Desc)
                          .Select((r, c, cu, b) => new VueUserCommReply
            {
                bookCode         = b.Code,
                bookName         = b.Title,
                resCode          = c.refCode,
                bookCoverUrl     = b.CoverUrl,
                commentId        = c.Id,
                commentAuthorId  = c.authorId,
                commentAuthor    = cu.NickName,
                pCommentDateTime = c.CreateDateTime,
                commentContent   = c.content,
                replyId          = r.Id,
                replyContent     = r.content,
                replyTarget      = r.replyName,
                pReplyDateTime   = r.CreateDateTime,
            });

            RefAsync <int> totalNumber = new RefAsync <int>();

            result.datas = await mainSql.ToPageListAsync(query.pageIndex, query.pageSize, totalNumber);

            result.totalCount = totalNumber;
            return(result);
        }
        public async Task <ModelPager <VueUserBook> > queryUserBook(QUserBook query)
        {
            ModelPager <VueUserBook> result = new ModelPager <VueUserBook>(query.pageIndex, query.pageSize);
            var mainSql = Db.Queryable <EUserBook, EBookInfo>((ub, b) => new object[]
            {
                JoinType.Inner, ub.bookCode == b.Code
            })
                          .Where(ub => ub.userId == query.userId)
                          .OrderBy(ub => ub.createdDateTime, OrderByType.Desc)
                          .Select((ub, b) => new VueUserBook
            {
                id             = ub.Id,
                Code           = b.Code,
                CoverUrl       = b.CoverUrl,
                Name           = b.Title,
                ResourceCount  = b.ResoureNum,
                Score          = b.Score,
                CreateDateTime = ub.createdDateTime,
            });
            RefAsync <int> totalNumber = new RefAsync <int>();

            result.datas = await mainSql.ToPageListAsync(query.pageIndex, query.pageSize, totalNumber);

            result.totalCount = totalNumber;
            return(result);
        }
        public async Task <ModelPager <VueMsgInfoNotification> > queryUserReply(QMsgUser query)
        {
            ModelPager <VueMsgInfoNotification> result = new ModelPager <VueMsgInfoNotification>(query.pageIndex, query.pageSize);
            var mainSql = Db.Queryable <EMsgInfo_ReplyRes, EMsgContent_ReplyRes>((m, c) => new object[]
            {
                JoinType.Left, m.resCode == c.ResCode
            })
                          .Where((m, c) => m.ReceiveUserId == query.userId)
                          .OrderBy((m, c) => m.CreatedDateTime, OrderByType.Desc)
                          .Select((m, c) => new VueMsgInfoNotification
            {
                dbDateTime         = m.CreatedDateTime,
                senderHeaderUrl    = m.SendHeaderUrl,
                senderId           = m.SendUserId,
                senderName         = m.SendName,
                bookCode           = c.BookCode,
                bookUrl            = c.BookUrl,
                resCode            = c.ResCode,
                resName            = c.ResName,
                commentId          = m.CommentId,
                replyId            = m.ReplyId,
                receiveContent     = m.ReceiveContent,
                NotificationStatus = m.NotificationStatus,
                msgId = m.Id
            });

            RefAsync <int> totalNumber = new RefAsync <int>();

            result.datas = await mainSql.ToPageListAsync(query.pageIndex, query.pageSize, totalNumber);

            result.totalCount = totalNumber;
            return(result);
        }
示例#5
0
        public DataSourceResult <PatientViewModel> Search(SearchPatientViewModel searchPatientViewModel, int pageIndex, int pageSize)
        {
            ModelPager modelPager = new ModelPager()
            {
                PageIndex   = pageIndex,
                PageSize    = pageSize,
                IncludeAll  = false,
                SortOrder   = SortOrder.ASCENDING,
                OrderColumn = "FirstName"
            };
            PatientDtoResult response = _PhekoServiceClient.Search(_PatientViewModelMapper.MapSearchPatientViewModelToPatientDto(searchPatientViewModel), modelPager);

            //if (response.)
            //{
            //    ModelException modelException = new ModelException();

            //    response.FieldErrors.ToList<FieldError>().ForEach(item => modelException.ModelErrors.Add(new ModelError() { FieldName = item.FieldName, Message = item.ErrorMessage }));

            //    throw modelException;
            //}

            return(new DataSourceResult <PatientViewModel>()
            {
                Total = response.Total,
                Data = response.Models.Select(item => _PatientViewModelMapper.MapToPatientViewModel(item)).ToList <PatientViewModel>()
            });
        }
示例#6
0
        public Result <PatientDto> Search(PatientDto searchPatient, ModelPager modelPager)
        {
            Result <PatientDto> response = new Result <PatientDto>();

            using (UnitOfWork unitOfWork = new UnitOfWork())
            {
                Expression <Func <Patient, bool> > searchFilter = null;

                if (searchPatient != null)
                {
                    searchFilter = p => (searchPatient.PatientId == null || p.PatientId == searchPatient.PatientId) &&
                                   (string.IsNullOrEmpty(searchPatient.FirstName) || p.FirstName.Contains(searchPatient.FirstName)) &&
                                   (string.IsNullOrEmpty(searchPatient.LastName) || p.LastName.Contains(searchPatient.LastName)) &&
                                   (searchPatient.BirthDate == null || p.BirthDate == searchPatient.BirthDate) &&
                                   (string.IsNullOrEmpty(searchPatient.IDNumber) || p.IDNumber.Contains(searchPatient.IDNumber));
                }

                response.Models = unitOfWork.PatientRepository.GetPagedEntities(searchFilter, GetOrderExpression(modelPager), modelPager, "PostalAddress, PhysicalAddress")
                                  .Select(item => _PatientMapper.MapToPatientDto(item))
                                  .ToList <PatientDto>();
                response.Total = unitOfWork.PatientRepository.Count(searchFilter);
            }

            return(response);
        }
        public ModelPager <VueMsgInfoNotification> QueryUserNotifictaion(QMsgUser query)
        {
            if (string.IsNullOrEmpty(query.userId))
            {
                throw new CCException("非法请求");
            }
            ModelPager <VueMsgInfoNotification> result = null;

            switch (query.notificationType)
            {
            case NotificationType.praize:
                result = _msgPraizeRepository.queryUserPraize(query).Result;
                break;

            case NotificationType.comment:
                result = _msgCommentResRepository.queryUserComment(query).Result;
                break;

            case NotificationType.reply:
                result = _msgReplyRepository.queryUserReply(query).Result;
                break;
            }
            //异步更新消息数据
            if (query.updateMsgToRead)
            {
                Async_MsgToReadAfterQuery(query, result.datas);
            }

            return(result == null? new ModelPager <VueMsgInfoNotification>():result);
        }
示例#8
0
        public ModelPager <RBookList> GetBookListPager(QBookList query)
        {
            ModelPager <RBookList> result = new ModelPager <RBookList>();

            result.pageIndex = query.pageIndex;
            result.pageSize  = query.pageSize;

            RefAsync <int> totalNumber = new RefAsync <int>();

            if (query.QueryType == QBookList_Type.Tag)
            {
                result.datas      = _bookDb.GetBookListByTag(query.pageIndex, query.pageSize, query.Code, totalNumber).Result;
                result.totalCount = totalNumber;
                return(result);
            }
            else if (query.QueryType == QBookList_Type.Section)
            {
                ESection section = _sectionRepository.GetByKey(query.Code).Result;
                if (section != null)
                {
                    if (section.SectionType == SectionType.Column)
                    {
                        result.datas      = _bookDb.GetBookListBySection_ST(query.pageIndex, query.pageSize, query.Code, totalNumber).Result;
                        result.totalCount = totalNumber;
                        return(result);
                    }
                    else
                    {
                        if (section.Code == WebSectionCode.NewExpress)
                        {
                            result.datas      = _bookDb.GetBookListBySection_DT(query.pageIndex, query.pageSize, query.Code, totalNumber).Result;
                            result.totalCount = totalNumber;
                            return(result);
                        }
                        else if (section.Code == WebSectionCode.ResDownLoad)
                        {
                            result.datas      = _bookDb.GetBookListBySection_Resource(query.pageIndex, query.pageSize, totalNumber).Result;
                            result.totalCount = totalNumber;
                            return(result);
                        }
                        else if (section.Code == WebSectionCode.HighScore)
                        {
                            result.datas = _bookDb.GetBookListBySection_HighScroe(query.pageIndex, query.pageSize, totalNumber, defaultTop: query.HighScoreTop).Result;
                            if (totalNumber > query.HighScoreTop)
                            {
                                totalNumber = new RefAsync <int>(query.HighScoreTop);
                            }

                            result.totalCount = totalNumber;
                            return(result);
                        }
                    }
                }
            }

            return(null);
            // return _bookDb.GetSimpleBookPager(pageIndex, pageSize, bookSection).Result;
        }
示例#9
0
        private Expression <Func <Patient, object> > GetOrderExpression(ModelPager modelPager)
        {
            switch (modelPager.OrderColumn)
            {
            case "LastName":
                return(p => p.LastName);

            default:
                return(p => p.FirstName);
            }
        }
        private Expression <Func <SecurityUser, object> > GetOrderExpression(ModelPager modelPager)
        {
            switch (modelPager.OrderColumn)
            {
            case "LastName":
                return(s => s.LastName);

            default:
                return(s => s.FirstName);
            }
        }
        public async Task <ModelPager <VueCommentReply> > GetReplysByCommentId(QComment_Reply query)
        {
            ModelPager <VueCommentReply> result = new ModelPager <VueCommentReply>(query.pageIndex, query.pageSize);
            var qOwn = Db.Queryable <EPraize_CommentReply>().Where(c => c.commentId == query.commentId && c.userId == query.reqUserId);
            var q    = base.Db.Queryable <ECommentReply_Res, EUserInfo>((c, u) => new object[]
            {
                JoinType.Inner, c.authorId == u.Id
            })
                       .Where(c => c.commentId == query.commentId)
                       .Select((c, u) => new VueCommentReply
            {
                CreateDateTime  = c.CreateDateTime,// c.CreateDateTime.ToString("yyyy-MM-dd hh:MM"),
                authorId        = u.Id,
                authorName      = u.NickName,
                replyId         = c.Id,
                content         = c.content,
                goodNum         = c.goodNum,
                headerUrl       = u.HeaderUrl,
                replyAuthorId   = c.replyAuthorId,
                replyAuthorName = c.replyName,
                bookCode        = c.bookCode,
            });

            var orderByPraize = $"case when j1.goodNum <{ SysRules.OrderByPraizeStartNum} then 0 else j1.goodNum end desc";

            var orderByFixedReply = $"case when j1.replyId = '{query.fixedReplyId}' then 0 else  j1.replyId end";

            var mainSql = Db.Queryable(q, qOwn, JoinType.Left, (j1, j2) => j1.replyId == j2.replyId)
                          .OrderByIF(query.fixedReplyId > 0, orderByFixedReply)
                          .OrderBy(orderByPraize)
                          .OrderBy(j1 => j1.CreateDateTime, OrderByType.Desc)
                          .Select((j1, j2) => new VueCommentReply
            {
                CreateDateTime  = j1.CreateDateTime,
                authorId        = j1.authorId,
                authorName      = j1.authorName,
                replyId         = j1.replyId,
                content         = j1.content,
                goodNum         = j1.goodNum,
                headerUrl       = j1.headerUrl,
                replyAuthorId   = j1.replyAuthorId,
                replyAuthorName = j1.replyAuthorName,
                userPraizeType  = j2.PraizeType,
                bookCode        = j1.bookCode
            });

            RefAsync <int> totalNumber = new RefAsync <int>();

            result.datas = await mainSql.ToPageListAsync(query.pageIndex, query.pageSize, totalNumber);

            result.totalCount = totalNumber;
            return(result);
        }
        public async Task <ModelPager <VueUserPraize> > queryUserCommentReplyPraize(QUserPraize query)
        {
            ModelPager <VueUserPraize> result = new ModelPager <VueUserPraize>(query.pageIndex, query.pageSize);

            var            prSql       = sql_UserCommReplyPraize(query);
            RefAsync <int> totalNumber = new RefAsync <int>();

            result.datas = await prSql.ToPageListAsync(query.pageIndex, query.pageSize, totalNumber);

            result.totalCount = totalNumber;

            return(result);
        }
        public async Task <ModelPager <VueResInfo> > GetResByRefCode(QRes qRes)
        {
            ModelPager <VueResInfo> result = new ModelPager <VueResInfo>(qRes.pager.pageIndex, qRes.pager.pageSize);


            var            mainSql     = this.sqlResByCode(qRes.refCode, qRes.reqUserId, qRes.fixedResCode);
            RefAsync <int> totalNumber = new RefAsync <int>();

            result.datas = await mainSql.ToPageListAsync(qRes.pager.pageIndex, qRes.pager.pageSize, totalNumber);

            result.totalCount = totalNumber;
            return(result);
        }
        public ModelPager <VueSystemNotification> QuerySystemNotifictaion(QMsgUser query)
        {
            if (string.IsNullOrEmpty(query.userId))
            {
                throw new CCException("非法请求");
            }
            ModelPager <VueSystemNotification> result = _msgSystemRepository.querySystemNotification(query);

            if (query.updateMsgToRead)
            {
                Async_MsgToReadAfterQuery(query, null, result.datas);
            }
            return(result);
        }
        public ModelPager <ESearchOneBookResult> SearchBook(QueryBookSearch query)
        {
            if (string.IsNullOrEmpty(query.keyword))
            {
                throw new Exception("没有关键字");
            }

            ModelPager <ESearchOneBookResult> result = new ModelPager <ESearchOneBookResult>(query.pageIndex, query.pageSize);
            var mainSql = _Db.Queryable <ESearchOneBookResult>()
                          .Where(r => r.keyWord == query.keyword);

            result.datas = mainSql.ToPageList(query.pageIndex, query.pageSize);
            return(result);
        }
示例#16
0
        public DataSourceResult <SecurityUserViewModel> GetUsers(string searchText, int pageIndex, int pageSize)
        {
            ModelPager modelPager = new ModelPager()
            {
                PageIndex   = pageIndex,
                PageSize    = pageSize,
                IncludeAll  = false,
                SortOrder   = SortOrder.ASCENDING,
                OrderColumn = "FirstName"
            };
            SecurityUserDtoResult response = _PhekoServiceClient.GetUsers(searchText, modelPager);

            return(new DataSourceResult <SecurityUserViewModel>()
            {
                Total = response.Total,
                Data = response.Models.Select(item => _SecurityUserViewModelMapper.MapToPatientAddressViewModel(item)).ToList <SecurityUserViewModel>()
            });
        }
示例#17
0
        public DataSourceResult <PatientConsultationViewModel> Search(int patientId, string searchText, int pageIndex, int pageSize)
        {
            ModelPager modelPager = new ModelPager()
            {
                PageIndex   = pageIndex,
                PageSize    = pageSize,
                IncludeAll  = false,
                SortOrder   = SortOrder.DESCENDING,
                OrderColumn = "StartDate"
            };
            PatientConsultationDtoResult response = _PhekoServiceClient.GetPatientConsultations(patientId, searchText, modelPager);

            return(new DataSourceResult <PatientConsultationViewModel>()
            {
                Total = response.Total,
                Data = response.Models.Select(item => _PatientConsultationViewModelMapper.MapToPatientConsultationViewModel(item)).ToList <PatientConsultationViewModel>()
            });
        }
        public Result <SecurityUserDto> GetUsers(string searchText, ModelPager modelPager)
        {
            Result <SecurityUserDto> response = new Result <SecurityUserDto>();

            using (UnitOfWork unitOfWork = new UnitOfWork())
            {
                Expression <Func <SecurityUser, bool> > searchFilter = null;

                if (!string.IsNullOrEmpty(searchText))
                {
                    searchFilter = s => s.FirstName.Contains(searchText) || s.LastName.Contains(searchText);
                }

                response.Models = unitOfWork.SecurityUserRepository.GetPagedEntities(searchFilter, GetOrderExpression(modelPager), modelPager)
                                  .Select(item => _SecurityUserMapper.MapToSecurityUserDto(item))
                                  .ToList <SecurityUserDto>();
                response.Total = unitOfWork.SecurityUserRepository.Count(searchFilter);
            }

            return(response);
        }
示例#19
0
        public virtual IEnumerable <TEntity> GetPagedEntities(Expression <Func <TEntity, bool> > filter            = null,
                                                              Expression <Func <TEntity, object> > orderExpression = null,
                                                              ModelPager modelPager = null, string includeProperties = "")
        {
            IQueryable <TEntity> query = _DbSet;

            if (filter != null)
            {
                query = query.Where(filter);
            }

            if (!string.IsNullOrEmpty(includeProperties))
            {
                query = Include(query, includeProperties);
            }

            if (modelPager != null & !modelPager.IncludeAll)
            {
                return(GetPagedEntityData(query, orderExpression, modelPager));
            }

            return(query.ToList());
        }
示例#20
0
        public async Task <ModelPager <VueUserPointTrans> > getPointTrans(QUserTrans query)
        {
            ModelPager <VueUserPointTrans> result = new ModelPager <VueUserPointTrans>(query.pageIndex, query.pageSize);

            var mainSql = Db.Queryable <EUserPointsTrans>()
                          .Where(a => a.userId == query.userId &&
                                 a.createdDateTime.Date >= query.startDate.Date &&
                                 a.createdDateTime.Date <= query.endDate.Date)
                          .OrderBy(a => a.createdDateTime, OrderByType.Desc)
                          .Select(a => new VueUserPointTrans
            {
                dbDateTime = a.createdDateTime,
                changeType = a.changeType,
                point      = a.point
            });
            RefAsync <int> totalNumber = new RefAsync <int>();

            result.datas = await mainSql.ToPageListAsync(query.pageIndex, query.pageSize, totalNumber);

            result.totalCount = totalNumber;

            return(result);
        }
示例#21
0
        public ResultPager <RBookList> getBookListPager(QBookList query)
        {
            ResultPager <RBookList> result = new ResultPager <RBookList>();
            var st = DateTime.Now;

            Console.WriteLine($"开始Query{st}");
            try
            {
                if (query.QueryType == QBookList_Type.Search)
                {
                    result = _searchServices.searchBook(new SearchReq
                    {
                        keyword   = query.Code,
                        pageIndex = query.pageIndex,
                        pageSize  = query.pageSize,
                        userId    = this.getUserId()
                    });
                }
                else
                {
                    ModelPager <RBookList> pd = _bookServices.GetBookListPager(query);
                    result.PageData           = pd;
                    result.PageData.pageIndex = query.pageIndex;
                    result.PageData.pageSize  = query.pageSize;
                }
            }
            catch (Exception ex)
            {
                result.ErrorMsg = ex.Message;
            }

            var et = DateTime.Now;

            Console.WriteLine($"结束Query{et}");
            Console.WriteLine($"时间差{et - st}");
            return(result);
        }
        public ModelPager <VueUserRes> queryUserRes_GroupByBook(QUserRes query)
        {
            ModelPager <VueUserRes> result = new ModelPager <VueUserRes>(query.pageIndex, query.pageSize);
            var mainSql = Db.Queryable <EResourceInfo, EBookInfo>((r, b) => new object[]
            {
                JoinType.Inner, r.RefCode == b.Code
            })
                          .Where((r, b) => r.Owner == query.userId && r.IsDelete == false)
                          .GroupBy((r, b) => new { b.Code, r.Owner, b.Title, b.CoverUrl })
                          .Select((r, b) => new VueUserRes
            {
                bookCode     = b.Code,
                bookCoverUrl = b.CoverUrl,
                bookName     = b.Title,
            });

            // RefAsync<int> totalNumber = new RefAsync<int>();
            int totalNumber = 0;

            result.datas      = mainSql.ToPageList(query.pageIndex, query.pageSize, ref totalNumber);
            result.totalCount = totalNumber;
            result.datas      = arrangeUserRes(result.datas);
            return(result);
        }
        public ModelPager <ESearchOneBookResult> CrawlerSearch(string keyword, int maxUserLine = 5)
        {
            ModelPager <ESearchOneBookResult> result = new ModelPager <ESearchOneBookResult>();
            var searchUrl = getSearchUrlByKeyword(keyword);

            HtmlDocument htmlDoc = getDocbyEntryUrl(searchUrl);

            var nodeResultList = htmlDoc.DocumentNode.SelectNodes("//div[@class='result-list']/div[@class='result']");

            if (nodeResultList == null)
            {
                return(result);
            }

            result.datas = new List <ESearchOneBookResult>();
            foreach (var nodeResult in nodeResultList)
            {
                ESearchOneBookResult resultItem = new ESearchOneBookResult();
                var imgNode = nodeResult.SelectSingleNode("div[@class='pic']/a/img");
                resultItem.CoverUrl = imgNode.Attributes["src"].Value;

                var hrefNode = nodeResult.SelectSingleNode("div[@class='content']/div/h3/a");
                resultItem.Name = hrefNode.InnerText;

                var onClickString = hrefNode.Attributes["onclick"].Value;
                resultItem.Code    = getCodeFromSearchOnClickString(onClickString);
                resultItem.keyWord = keyword;

                result.datas.Add(resultItem);
                if (result.datas.Count == maxUserLine)
                {
                    break;
                }
            }
            return(result);
        }
示例#24
0
 public Result <PatientConsultationDto> GetPatientConsultations(int patientId, string searchText, ModelPager modelPager)
 {
     return(_IPatientConsultationManager.GetPatientConsultations(patientId, searchText, modelPager));
 }
示例#25
0
        public virtual IEnumerable <TEntity> GetPagedEntityData(IQueryable <TEntity> query, Expression <Func <TEntity, object> > orderExpression, ModelPager modelPager)
        {
            Func <IQueryable <TEntity>, IOrderedQueryable <TEntity> > orderby = OrderEntities(modelPager, orderExpression);
            int elementsToSkip = (modelPager.PageIndex - 1) * modelPager.PageSize;

            return(orderby(query).Skip(elementsToSkip).Take(modelPager.PageSize).ToList <TEntity>());
        }
示例#26
0
        public virtual Func <IQueryable <TEntity>, IOrderedQueryable <TEntity> > OrderEntities(ModelPager modelPager, Expression <Func <TEntity, object> > orderExpression)
        {
            var unaryExpression = orderExpression.Body as UnaryExpression;

            if (unaryExpression != null)
            {
                var propertyExpression = (MemberExpression)unaryExpression.Operand;
                var parameters         = orderExpression.Parameters;

                if (propertyExpression.Type == typeof(decimal))
                {
                    var newExpression = Expression.Lambda <Func <TEntity, decimal> >(propertyExpression, parameters);

                    if (modelPager.SortOrder == SortOrder.DESCENDING)
                    {
                        return(p => p.OrderByDescending(newExpression));
                    }
                    else
                    {
                        return(p => p.OrderBy(newExpression));
                    }
                }

                if (propertyExpression.Type == typeof(DateTime))
                {
                    var newExpression = Expression.Lambda <Func <TEntity, DateTime> >(propertyExpression, parameters);

                    if (modelPager.SortOrder == SortOrder.DESCENDING)
                    {
                        return(p => p.OrderByDescending(newExpression));
                    }
                    else
                    {
                        return(p => p.OrderBy(newExpression));
                    }
                }

                if (propertyExpression.Type == typeof(int))
                {
                    var newExpression = Expression.Lambda <Func <TEntity, int> >(propertyExpression, parameters);
                    if (modelPager.SortOrder == SortOrder.DESCENDING)
                    {
                        return(p => p.OrderByDescending(newExpression));
                    }
                    else
                    {
                        return(p => p.OrderBy(newExpression));
                    }
                }
            }

            if (modelPager.SortOrder == SortOrder.DESCENDING)
            {
                return(p => p.OrderByDescending(orderExpression));
            }
            else
            {
                return(p => p.OrderBy(orderExpression));
            }
        }
示例#27
0
 protected override void Because_of()
 {
     _destination = Mapper.Map <ModelPager <int> >(new Pager <int>(_items));
 }
示例#28
0
 public Result <SecurityUserDto> GetUsers(string searchText, ModelPager modelPager)
 {
     return(_ISecurityUserManager.GetUsers(searchText, modelPager));
 }
示例#29
0
        public Result <PatientConsultationDto> GetPatientConsultations(int patientId, string searchText, ModelPager modelPager)
        {
            Result <PatientConsultationDto> response = new Result <PatientConsultationDto>();

            using (UnitOfWork unitOfWork = new UnitOfWork())
            {
                Expression <Func <PatientConsultation, bool> > searchFilter = p => p.PatientId == patientId;
                response.Total  = unitOfWork.PatientConsultationRepository.CountEntities(searchFilter);
                response.Models = unitOfWork.PatientConsultationRepository.GetPagedEntities(searchFilter, o => o.StartDate, modelPager)
                                  .Select(item => _PatientConsultationMapper.MapToPatientConsultationDto(item)).ToList <PatientConsultationDto>();
            }

            return(response);
        }
示例#30
0
 public Result <PatientDto> Search(PatientDto searchPatient, ModelPager modelPager)
 {
     return(_IPatientManager.Search(searchPatient, modelPager));
 }